我確信這是顯而易見的,因為我是 R 新手,但我無法弄清楚為什么第一種方法有效而第二種方法無效。我對“粘貼”的使用出了點問題。
library(dplyr)
data(mtcars)
characteristics <- c('disp', 'hp')
summarise_at(df, .vars = vars(characteristics), mean)
characteristics <- paste('disp hp', collapse = ",")
summarise_at(df, .vars = vars(characteristics), mean)
uj5u.com熱心網友回復:
在朋友的幫助下,我找到了答案。
library('dplyr')
data(mtcars)
characteristics <- unlist(str_split('disp hp', ' '))
# the line above replaced characteristics <- paste('disp hp', collapse = ",")
summarise_at(mtcars, .vars = vars(characteristics), mean)
uj5u.com熱心網友回復:
如果你想進行匯總disp和hp的mtcars為什么不使用更簡單,更straigthforward方法,像這樣?
mtcars %>%
summarise(across(c('disp', 'hp'), mean))
disp hp
1 230.7219 146.6875
其中,您還可以將您的向量“輸入”到across操作中:
characteristics <- c('disp', 'hp')
mtcars %>%
summarise(across(characteristics, mean))
disp hp
1 230.7219 146.6875
使用summarise(across...)還將考慮到所謂的范圍dplyr動詞現在基本上已被取代across()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/390443.html
