【发布时间】:2020-05-15 07:32:06
【问题描述】:
我在重复的开始 (A) 和结束 (B) 处有一个大的测量数据数据集。现在我想将我的数据行排序为“出现在最后”(出现)和“仍然存在”(现在)并将数据传递到新列中。
data<-data.frame(A1=c(1,2,4),
A2=c(3,5,4),
B1=c(10,0,5),
B2=c(1,0,1))
期望的输出:
data_res<-data.frame(A1=c(1,2,4,0),
A2=c(3,5,4,0),
B1=c(10,0,5,1),
B2=c(1,0,1,2),
appeared1=c(0,0,0,1),
appeared2=c(0,0,0,2),
present1=c(10,0,5,0),
present2=c(1,0,1,0))
如您所见,如果数据最后出现,我希望 B 的输出在多列中,如果不是零则应传递。如果数据仍然存在,我也需要 B 的输出,如果不是零的话。 感谢您的帮助!
【问题讨论】:
-
当数据进入
appeared1、appeared2与present1、present2相比时?为什么第二行的所有值都是 0? -
我猜从appear1到present2的最后一行应该是
0,0,1,2,而不是1,2,0,0,对吗?或者你的输出的逻辑是什么? -
现在和出现是两个不同的东西。如果它在开始时存在,则它没有出现,因此 Appear 得到 0。A2 与 B2 比较得到 0,0,0,2,因为只有最后一行在开始时不存在。正如我所说的,A 是星,B 是终点,它们都有复制品。
-
您能否在示例数据集中再包含几列以及预期的输出是什么样的?
标签: r compare multiple-columns dplyr