我有一个数据框架,它由一列中的大量ID号和另一列中的一个虚拟变量组成。数据帧具有相同ID的多次迭代,但虚拟值不一致。例如:
ID dummy
1 1111 1
2 1111 1
3 1111 0
4 1112 0
5 1112 0
6 1112 0
7 1112 0
8 1113 1
9 1113 0
10 1113 1我想要的是获得我自己的所有这些独立ID号的数据帧以及虚拟值1(如果它有一个实例1,否则只有0)。经常发生的事情是,当我试图分离副本时,有时会留下一个虚拟值,即0,而不是1。下面是我试图得到的一个例子:
ID dummy
1 1111 1
2 1112 0
3 1113 1请帮帮忙。
发布于 2018-07-26 22:08:35
library(dplyr)
df %>% group_by(ID) %>%
mutate(dummy1=max(dummy)) %>% filter(row_number()==1) %>%
#dplyr::distinct(ID, .keep_all=T) %>% #Another option
select(-dummy1)
# A tibble: 3 x 2
# Groups: ID [3]
ID dummy
<int> <int>
1 1111 1
2 1112 0
3 1113 1数据
df <- read.table(text="
ID dummy
1 1111 1
2 1111 1
3 1111 0
4 1112 0
5 1112 0
6 1112 0
7 1112 0
8 1113 1
9 1113 0
10 1113 1
",header=T, stringsAsFactors = F)发布于 2018-07-26 22:37:35
这难道不是
df[!duplicated(df$ID), ]
# ID dummy
#1 1111 1
#4 1112 0
#8 1113 1这将以自顶向下的方式删除所有重复的ID。
https://stackoverflow.com/questions/51548085
复制相似问题