2013-12-10 104 views
3

我將數據框名稱作爲字符串傳遞到函數中。如何從字符串中獲取引用數據框的內容?假設我有字符串「mtcars」,我想打印數據幀mtcars:從字符變量獲取數據幀

printdf <- function(dataframe) { 
    print(dataframe) 
} 

printdf('mtcars'); 

回答

5

我認爲你需要在那裏get如果輸入的是一個字符串。另外,根據您的功能的使用,明確print可能沒有必要:

printdf <- function(dataframe) { 
    get(dataframe) 
    # print(get(dataframe)) 
} 
head(printdf("mtcars")) 
#     mpg cyl disp hp drat wt qsec vs am gear carb 
# Mazda RX4   21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 
# Mazda RX4 Wag  21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 
# Datsun 710  22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 
# Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 
# Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 
# Valiant   18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 
+0

說句公道......明確的打印有道理在一個名爲「printdf」 – Dason

+0

@Dason功能,我想是這樣。但是這不會干擾,例如'頭部'? – A5C1D2H2I1M1N2O1R2T1

+0

取決於目標是什麼。我可以想象如果我寫了這樣的函數會感到沮喪:'blah < - function(df){printdf(df);打印(「這是我的數據框」)}; blah(「mtcars」)',如果printdf是按照你的方式定義的,我最初可能會像「你不打印?」 – Dason