【发布时间】:2021-08-28 17:00:00
【问题描述】:
我有一个数据框,其中包含一个实验性的CONDITION,它有一个确定的INDEX。每个实验都有一个关联的NAME-A 和一个对应于特定NAME_A 的NAME_B。
我的主要目标是通过创建一个考虑两个连续 NAME_A 之间 INDEX 值差异的范围,即相同 @ 的索引之间的差异,通过 CONDITION 总结 NAME-A 和 NAME-B 的总数987654331@ 不应大于 400 (INDEX[i+1] - INDEX[i] )。
可能的场景是NAME_A 可以复制,但NAME_B 不能。 NAME_A 不能与 NAME_B 关联,因此列之间的计数可能不同。
我在这里留下一个例子,a 是我拥有的输入数据,b 应该是输出。
a <- data.frame(c(1,2,2,2,2,3),c(1,1,50,400,900,1),c("A","B","B","C","D","E"),
c("X1","X2","X3","X4","X5",NA))
colnames(a) <- c("CONDITION","INDEX","NAME_A","NAME_B")
数据
CONDITION INDEX NAME_A NAME_B
1 1 1 A X1
2 2 1 B X2
3 2 50 B X3
4 2 400 C X4
5 2 900 D X5
6 3 1 E <NA>
愿望输出
b <- data.frame(c(1,2,2,3),c(1,1,900,1),c(1,400,900,1),c("A","B, C","D","E"),c(1,2,1,1),
c("X1","X2, X3, X4","X5",NA),c(1,3,1,0))
colnames(b) <- c("CONDITION","INDEX_MIN","INDEX_MAX",
"NAME_A","COUNT_A","NAME_B","COUNT_B")
CONDITION INDEX_MIN INDEX_MAX NAME_A COUNT_A NAME_B COUNT_B
1 1 1 1 A 1 X1 1
2 2 1 400 B, C 2 X2, X3, X4 3
3 2 900 900 D 1 X5 1
4 3 1 1 E 1 <NA> 0
我的问题是我已经为NAME-A 和NAME-B 分别制作了这个,但如示例所示,有时NAME-A 没有关联NAME-B,因此结果范围窗口在数据帧之间分布不均,因此需要进一步的手动版本。
【问题讨论】:
标签: r dataframe dplyr summarize