【问题标题】:Subsetting in R , for and if loop [closed]R , for 和 if 循环中的子集[关闭]
【发布时间】:2014-07-24 05:27:53
【问题描述】:

我有一个如下所示的数据框:

ID         Team
11            1
22            2
45            4
45            2
79            3
79            4
100           2
123           1
167           3
167           1

我必须只对那些重复的行进行子集化,直到到达数据框的末尾。怎么办?

【问题讨论】:

  • 那么,重复的“行”是指重复的 ID?这里的“正确”子集是第 3-6 行和第 9-10 行?

标签: r loops duplicates subset


【解决方案1】:

如果您打算对重复的行进行子集IDs

dat <- structure(list(ID = c(11L, 22L, 45L, 45L, 79L, 79L, 100L, 123L, 
167L, 167L), Team = c(1L, 2L, 4L, 2L, 3L, 4L, 2L, 1L, 3L, 1L)), .Names = c("ID", 
"Team"), class = "data.frame", row.names = c(NA, -10L))

dat[duplicated(dat$ID)|duplicated(dat$ID,fromLast=T),]
#     ID Team
# 3   45    4
# 4   45    2
# 5   79    3
# 6   79    4
# 9  167    3
# 10 167    1

【讨论】:

  • 我得到的数据框是空的我必须打印复制行的两个副本
  • @user3867198。请通过复制上面的代码检查您是否仍然得到空数据框。
  • 是的。我必须对具有重复 ID 的行进行子集化。
  • @user3867198。我通过重复的 ID 将其子集
  • @user3867198。您能否用更多模仿原始数据集的信息和数据更新您的问题?
猜你喜欢
  • 2021-06-23
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 2015-08-14
相关资源
最近更新 更多