我想計算我數據框中幾列的平均值。我想使用dplyr包中的':'來選擇它們。變量名稱是:Mcheck5_1_1,Mcheck5_2_1,...,Mcheck5_8_1(所以共有8個)。我瞭解到,我可以dplyr的刪除函數?計算R中數據幀中幾列的平均值
select(df, Mcheck5_1_1:Mcheck5_8_1)
在4min33sec由Roger龐(https://www.youtube.com/watch?v=aywFompr1F4&feature=youtu.be)講授的在線課程選擇。
然而,R抱怨:
Error in select(df, Mcheck5_1_1:Mcheck5_8_1) :
unused argument (Mcheck5_1_1:Mcheck5_8_1)
我也找不到使用這個別人的「:」在谷歌的功能。我懷疑這個功能不再存在?
現在,我使用下面的代碼來解決這個問題:
idx = grep("Mcheck5_1_1", names(df))
df$avg = rowMeans(df[, idx:idx+7], na.rm = TRUE)
(我毫不猶豫地使用索引號(例如,DF這些列[138]),因爲擔心其積極可能會有所不同)
但是,我認爲這個解決方案不夠優雅。你會建議我有沒有其他方法可以做到這一點?現在是否仍然可以使用冒號(:)方法爲我的變量編制索引,這只是我在代碼中犯了一些錯誤?謝謝大家。
https://www.youtube.com/watch?v=aywFompr1F4&feature=youtu.be
(在4:33)
順便說一句,因爲dplyr現在從軟件包magrittr中導入了%>%,所以您可能需要使用它。欲瞭解更多信息,請參閱https://stackoverflow.com/questions/23621209/differences-between-dplyr-and-magrittr – JetLag