我有一个dplyr的问题:如何在不手动写出每一列的情况下使用transmute
?是否有像transmute_each()
这样的东西?
我想要做以下事情:使用dplyr,我想为下面的MWE获取每一列的z-score:
tickers <- c(rep(1,10),rep(2,10))
df <- data.frame(cbind(tickers,rep(1:20),rep(2:21),rep(2:21),rep(4:23),rep(3:22)))
colnames(df) <- c("tickers","col1","col2","col3","col4","col5")
df %>% group_by(tickers)
有没有简单的方法使用 transmute 来实现以下内容:
for(i in 2:ncol(df)){
df[,i] <- df[,i] - mean(df[,i])/sd(df[,i])
}
非常感谢
mutate_each
,然后删除不需要的列即可。 - Hong Ooitransmute_each
函数,但是你可以自己定义它,例如使用transmute_each <- function(tbl, funs, ...) {mutate_each(tbl, funs, ...) %>% select(...)}
。 - talat