使用R,我想用数据表中21到150列的值除以5列的值,然后用新的除得值替换21到150列的值,比如21列除以5列,然后用商替换21列的新值。列22的相同值被列5除,然后用除后的值更新列22的值。
首先,我尝试了这个方法,但是它没有替换列中的值,然后输出没有列1-20...
df1000 <- df1000[,21:150] / df1000[,5]
所以后来我试了dplyr但是出了点问题
df1000 %>% mutate_at(seq(21:150),funs(df[,21:150]/df[,5]))
由于我的样本很大,有150列,而不是提供样本数据,我们可以使用一个内置的数据集,如虹膜,我可以调整列范围?
2条答案
按热度按时间oaxa6hgo1#
你的第一次尝试真的很接近了。只需要用相同的索引把新的数据存储回去。
relj7zay2#
在dplyr中,您应该使用
across
synthax,因为_at/_all/_if函数在dplyr
中挂起: