【问题标题】:Extract a part of a data frame by selecting specific observations of a column in R [duplicate]通过选择 R 中列的特定观察值来提取数据框的一部分 [重复]
【发布时间】:2016-03-01 11:26:37
【问题描述】:

我有一个数据框

item_i  a   b   c
1   0   0   2
1   0   0   0
1   0   0   0
1   0   0   0
4   0.25    0   0.625
9   0.166666667 0   0.666666667
9   0.166666667 0   0.666666667
9   0   0   0.5

我拥有的行是 1000,并且 item_i 列至少有 20 个不同的值。假设我想提取 item_i = 1、9、13 等的数据框部分。通过提取我的意思是我也想要列 a b 和 c。你有什么想法吗?

【问题讨论】:

  • 我试过 which((df$item_i) == c(1,9,13)
  • 试试subset(df, item_i %in% c(1,9,13))
  • 谢谢队友,这就是我要找的!!!
  • 不是只有一个限制,我还可以有更多。例如子集(df, item_i %in% c(1,9,13) | week_i %in% c(1,2,3,4)
  • 如果我知道子集函数,我就不会问同样的问题了。我不明白为什么我必须为此丢分。如果有人对子集函数一无所知,我的问题更合适。删除另一个

标签: r dataframe


【解决方案1】:

假设您的数据框名为DF,并且您希望 item_i = 9,您可以尝试:

DF[DF$item_i==9,]

如果你想要 item_i = 1 或 9 那么

DF[DF$item_i %in% c(1,9),]

【讨论】:

  • 感谢也有效
猜你喜欢
  • 1970-01-01
  • 2019-05-19
  • 1970-01-01
  • 2020-12-30
  • 2019-03-04
  • 1970-01-01
  • 2021-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多