【发布时间】:2018-03-29 11:15:21
【问题描述】:
dat <- data.frame(loc = c(1,2), year = c(1980,2012), id1 = c(5,6), id2 = c(10,12), id3 = c(14,18),id4 = c(10,12))
dat
loc year id1 id2 id3 id4
1 1 1980 5 10 14 10
2 2 2012 6 12 18 12
对于每一行,我想将id1 与id4 相加,除以100,然后将id1 与id4 相乘。我已经完成了第一部分。如何在一个函数中完成第二部分?
dat$factor <- apply(dat[,3:6], 1, function(x) 100/sum(x))
如何在上面的同一函数中将 id1 除以因子和 id2 除以因子?
【问题讨论】:
-
这个
dat[,3:6]*dat$factor? -
有时我开始考虑太多而忽略了简单的解决方案。谢谢