输出来自数据子集

时间:2015-09-18 06:12:59

标签: r subset

将简单数据作为:

A <- (1:100)
B <- (4:103)
C <- (100:199)
D <- (1000:1099)

df <- data.frame(A,B,C,D)

unique_set <- c('B','C')

现在使用

创建unique_set变量的df会计子集非常简单
df[unique_A]

但是,让我们说,我只想要一行特定的数字。或者更具体地说,针对特定的A值。如果我们尝试这样做,就会发生错误。

df[unique_A][df$A == 78]

或者

df[unique_A & df$A == 78]

所以我希望它输出的是它返回的内容

df[unique_A][78,]

当A按顺序排列时,以下代码有效。但我想知道用户如何同时具体设置条件(即A值),同时考虑我们的unique_set要求? 必须使用A命令包含unique_set吗?

1 个答案:

答案 0 :(得分:0)

基本上data.frame子集如下所示:

df[condition on rows, condition on columns]

因此,在您的情况下,您希望选择A列为78的所有行,同时仅选择unique_set上指定的列:

df[df$A == 78, unique_set]

尝试使用这些示例:

df[df$A == 78, c("B", "C")]
df[df$A == 78, c(2, 3)]
df[78, c(1:3)]