我是R的新手。我有一个列为1:n的数据框。 不包括列1和n ,如果该行在其他列中具有特定值,并且要将其余值(不包括列1和n)设置为零,我想更改每行的最大值。我的真实数据中有大约300,000个案例和40列,但是,以下示例说明了我要实现的目标:
A <- c(1,1,5,5,10)
B <- rnorm(1:5)
C <- rnorm(1:5)
D <- rnorm(1:5)
E <- c(10,15,100,100,100)
df <- data.frame(A,B,C,D,E)
df
A B C D E
1 1 0.74286670 0.3222136 0.9381296 10
2 1 -0.03352498 0.5262685 0.1225731 15
3 5 -0.17689629 -0.8949740 -1.4376567 100
4 5 0.48329153 1.1574834 -1.1116581 100
5 10 0.13117277 -0.2068736 0.4841806 100
在这里,如果每行的A列都为1,我想将每行的最大值更改为E列的值,并将B,C和D列设置为0。
所以,结果应该是这样的:
A B C D E
1 1 0 0 10 10
2 1 0 15 0 15
3 5 -0.17689629 -0.8949740 -1.4376567 100
4 5 0.48329153 1.1574834 -1.1116581 100
5 10 0.13117277 -0.2068736 0.4841806 100
我尝试这样做了两天。谢谢。
答案 0 :(得分:1)
尝试一下,看看会发生什么:)
basename(.rs.listIndexedPackages())