我有一个这样的清单
month year id
1. 2014. 20.
1. 2014. 305.
1. 2014. 305.
我想创建新变量并将其放入所有非唯一 ids = 如果 id 重复,我想将整行放入新变量中。
month year id
1. 2014. 305.
1. 2014. 305.
我不知道从哪里开始,我认为我应该创建 if 语句,但我不知道在里面放什么。
if(duplicated(my_data$id) = TRUE) {
}
如果我理解正确,您希望group_by
id
并保留id
出现多次的所有行。如果是这样,一种方法dplyr
可能是:
library(dplyr)
df %>%
group_by(id) %>%
filter(n() > 1) %>%
ungroup()
# A tibble: 2 x 3 month year id <dbl> <dbl> <dbl> 1 1. 2014. 305. 2 1. 2014. 305.
如果您的数据结构是一个列表,我认为我们可以使用以下方法使其成为一个数据框:
# note that you can omit the as.list call assuming your data is already a list
df <- bind_rows(as.list(df))
数据:
Lines <- "month year id
1. 2014. 20.
1. 2014. 305.
1. 2014. 305."
df <- read.table(text = Lines, header = T, stringsAsFactors = F)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句