R:需要检查两个变量之间的关系
以mtcars这样的数据帧为例(但要大得多) 我想得到一个观察值列表,其中vs==1,am!=1.我不想滚动浏览一长串的1和0,但实际上我得到了一个观察值列表。我可以写一个循环,但有没有一种更为激进的方式来回答这个问题 补充资料 我的实际示例是在R:需要检查两个变量之间的关系,r,R,以mtcars这样的数据帧为例(但要大得多) 我想得到一个观察值列表,其中vs==1,am!=1.我不想滚动浏览一长串的1和0,但实际上我得到了一个观察值列表。我可以写一个循环,但有没有一种更为激进的方式来回答这个问题 补充资料 我的实际示例是在first中查找NA的值,而在Grade中,它们不是NA。这似乎不起作用。NA是否得到特殊待遇 x = subset(spreadgrades, first == NA & Grade == NA) 使用数据。表: library(data.t
first
中查找NA
的值,而在Grade
中,它们不是NA
。这似乎不起作用。NA
是否得到特殊待遇
x = subset(spreadgrades, first == NA & Grade == NA)
使用
数据。表:
library(data.table)
mtcars<-data.table(mtcars)
mtcars[(vs==1 & am!=1),]
mpg cyl disp hp drat wt qsec vs am gear carb
1: 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
2: 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
3: 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
4: 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
5: 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
6: 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
7: 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
库(data.table)
mtcars根据评论和回答,我决定:
subset(spreadgrades, is.na(first) & !is.na(Grade))
尝试库(dplyr);mtcars%>%过滤器(vs==1,am!=1)
或者问题可能不是clear@akrun这里不需要dplyr。直接索引或使用子集
将非常好。@Dason是的,我本来打算写子集
,但后来我认为OP的意思是其他的,我的意思是@agerom在下面写的。。。。谢谢要测试NA
值,请使用R中的is.NA()
方法,而不是=
注意数据.table
在这里是不必要的。在data.frame
中,您也可以执行mtcars[(mtcars$vs==1&mtcars$am!=1),]
@gunbl4d3我没有在语法中使用“$”。您可能应该在=
列中使用一个包含NA的示例,以确认它是否符合OP的要求。我以前遇到过相关的问题哦,没关系,OP出于某种原因选择谈论两个不同的例子。@Frank exaclty:)!很好,你找到了答案,但在答案发布后改变你的例子并不酷。另外,显然你应该在问题中发布一个可复制的例子,而不仅仅是一行代码……是的,我知道。我试图通过使用一个众所周知的数据框架使其重现,但直到第一个答案,我才意识到NA是我遇到的问题的关键部分。