當我計算行意味着列表中的每個數據集時,我希望這個新變量的名稱(avg)對於列表中的每個元素都不相同,例如類似avg_df1
,avg_df2
,或者它佔用數據集名稱的一部分並將其聲明爲變量名稱。可以通過使用「粘貼」功能來完成嗎?在R中的多個數據框中命名變量
list = list(df1, df2)
list = lapply(list, function(x){
x$avg = rowMeans(x[,-2])
x
})
當我計算行意味着列表中的每個數據集時,我希望這個新變量的名稱(avg)對於列表中的每個元素都不相同,例如類似avg_df1
,avg_df2
,或者它佔用數據集名稱的一部分並將其聲明爲變量名稱。可以通過使用「粘貼」功能來完成嗎?在R中的多個數據框中命名變量
list = list(df1, df2)
list = lapply(list, function(x){
x$avg = rowMeans(x[,-2])
x
})
如果您的輸入列表被命名爲:
> input <- list(df1 = head(mtcars), df2 = tail(mtcars))
> sapply(input, function(x) rowMeans(x[, -2]))
df1 df2
Mazda RX4 32.2980 26.8570
Mazda RX4 Wag 32.3795 26.9683
Datsun 710 25.5580 66.2690
Hornet 4 Drive 42.0135 37.3590
Hornet Sportabout 58.2310 68.6710
Valiant 37.9540 28.4890
請提供[重複的例子(https://stackoverflow.com/questions/5963269/how-to-make-a-great- r-reproducible-example) – Val