2017-03-27 126 views
-1

我試圖在R中創建一個函數,該函數需要兩個輸入,數據集名稱和數據集中的一列。當數據集名稱和列作爲參數插入時,我想顯示所有大洲和各大洲的總人口。我目前使用下面的代碼,但它顯示所有的大洲0人口。我怎樣才能顯示每個大陸旁邊的總人口,而不是0.任何幫助將不勝感激,謝謝。如何在函數中指定列R

continentLifeExp <- function(data, column){ 
    continents <- group_by(data, Continent) 
    summarise(continents, population = sum(data$`column`)) 
} 
+0

請讓你的代碼重現的表達式通過提供(最小!)數據。使用'dput(yourDataframe)'並把結果放到你的問題中,即編輯你的問題:http://stackoverflow.com/posts/43055763/edit – jogo

回答

2

假設你要每contintent人口,你應該能夠只使用

summarise_(continents, population = paste0("sum(",column, ")")) 

summarize_評估了串

2

試試這個data[[column]]

只要列是一個字符串,這應該能正常運行。

sum(data[[column]])