Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过R中的条件对数据帧进行子集设置_R_Dataframe_Conditional Statements_Subset - Fatal编程技术网

通过R中的条件对数据帧进行子集设置

通过R中的条件对数据帧进行子集设置,r,dataframe,conditional-statements,subset,R,Dataframe,Conditional Statements,Subset,我有以下带有受试者ID的数据 V1 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 13 2 14 2 15 2 16 4 17 4 18 4 19 4 20 4 21 4 22 4 23 4 24 4 我想对V1==4的所有数据行进行子集划分。这样我就可以看出哪些观察与主题4有关 例如,正确的输出是 16 4 17 4 18 4 19 4 20 4 21 4 2

我有以下带有受试者ID的数据

V1
1   2
2   2
3   2
4   2
5   2
6   2
7   2
8   2
9   2
10  2
11  2
12  2
13  2
14  2
15  2
16  4
17  4
18  4
19  4
20  4
21  4
22  4
23  4
24  4
我想对V1==4的所有数据行进行子集划分。这样我就可以看出哪些观察与主题4有关

例如,正确的输出是

16  4
17  4
18  4
19  4
20  4
21  4
22  4
23  4
24  4
但是,在子集设置之后给出的输出并没有给出正确的行。它只是给了我一个简单的答案

V1
1  4
2  4
3  4
4  4
5  4
6  4
7  4
8  4
我不知道哪些观察与主题4有关,因为观察1:8是针对主题2的

我试过常用的方法,比如

condition<- df == 4
df[condition]

condition发布后,我设法找到了解决方案

newdf <- subset(df, V1 == 4). 

newdf您还可以使用subset函数:

subset(df,df$V1==4)

您没有一个列的标题try
哪个(df$V1==4)
子集(df,V1==4)
?您的id似乎是行名。如果您真的需要它们,那么将它们变成一个实际变量就更容易了
df$id还可以添加
df[df$V1==4,drop=F]
too您不应该使用
R
对象作为用户创建对象的名称:您应该调用data.frame,而不是
df
@stasg,这在R问题中非常常见。@Docendiscimus是的,我知道:(@stasg该参数在一般意义上是正确的,但不应将其与使用
c
t
str
作为名称进行比较。这些参数尤其有问题,因为它们是常用的。您上一次使用
df
是什么时候?您是对的,它是次优的,但对于示例来说非常快速和有用。我同意.但我必须坚持一个例外。它不仅在历史上被用作默认名称,而且实际上效果很好。它类似于已成为常见用法的俚语。例如,带翅膀在空中飞行的机器最初被称为“飞机”,用于描述正在进行的科学。因此许多人错误地称它为“飞机”最终卡住的“飞机”。)