从数据框开始,df
我想将选择列乘以一个常数,然后使用这些选择列的行方式创建一个新列/变量来填充它。现在,下面的代码是我知道如何做到这一点的方式。有没有办法将乘法和随后的平均化成一个更简洁的表达式?
# create dataframe
df<-data.frame(replicate(6,sample(0:100,10,rep=TRUE)))
# multiply some of the columns by 1.05
df$X1 <- df$X1 * 1.05
df$X2 <- df$X2 * 1.05
df$X3 <- df$X3 * 1.05
df$X4 <- df$X4 * 1.05
# get rowmeans for selected / subsetted columns
df$XX <- apply(subset(df, select = c("X1","X2","X3","X4")),
1, function(d) mean(d, na.rm=TRUE))