我有一个包含三列的数据集。第一列是类型,第二列是区域,第三列是值。我想写一个逻辑向量,使得type = 1,area = 3和worth = 6.我能够使用子集创建数据帧,但我无法创建逻辑向量。
hello <- read.csv("type.csv")
hello1 <- subset(hello, type==1 & area ==3 & worth ==6)
值列中有许多NA值。 数据集为https://www.dropbox.com/s/gjjwmnr8uxmy18y/type.csv
感谢。
Jdbaba
答案 0 :(得分:17)
所以问题仍然存在:
which(with(hello, type == 1 & area == 3 & Worth == 6))
请记住,您可以将其用作:
which(hello$type1 == 1 & hello$area == 3 & hello$Worth == 6)
也是。但是,当您有更多要检查的陈述时,with
会派上用场,因为它可以让您无需每次都输入hello$
进行检查。
答案 1 :(得分:6)
虽然答案已被接受,但OP要求创建一个逻辑向量和答案
which(hello$type1 == 1 & hello$area == 3 & hello$Worth == 6)
返回符合这些条件的行。要改为返回逻辑向量,只需使用which
的参数,即
hello$type1 == 1 & hello$area == 3 & hello$Worth == 6