【问题标题】:select a row based on different column value (same row) [duplicate]根据不同的列值选择一行(同一行)[重复]
【发布时间】:2017-06-17 23:35:33
【问题描述】:
df <- data.frame(ID = rep(c("WTN", "KON", "WTH","KOH"), each = 3),
                 Time = rep(c("A", "B", "C"), times = 4),
                 replicate(3,sample(1:100,12,rep=TRUE)))

我想根据同一行的两个不同列的值选择一行,在本例中为“WTN”和“A”。预期输出:

1  WTN    A 84 96 26

【问题讨论】:

  • 逻辑不清楚。另外,请使用set.seed 使其可重现
  • df[df$ID == "WTN" &amp; df$Time == "A", ]是这个吗?
  • @joel.wilson 感谢您没有回答这个问题。

标签: r


【解决方案1】:

我们可以从dplyr使用filter

 library(dplyr)
 df %>%
     filter(ID == "WTN" & Time == "A")

【讨论】:

  • 谢谢。我可以使用这种方法对具有值的列进行子集化吗?
  • @Al14 如果我理解您的问题,您可以添加%&gt;% select(-ID)
  • 过滤后是否需要第二行?
  • @Al14 也许df %&gt;% filter(ID == "WTN" &amp; Time == "A") %&gt;% select(-ID, -Time) %&gt;% unlist(., use.names = FALSE)
猜你喜欢
  • 2016-08-19
  • 2015-05-24
  • 1970-01-01
  • 2017-07-24
  • 1970-01-01
  • 2019-02-06
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多