17

我有一个包含三列的数据集。第一列是类型,第二列是面积,第三列是价值。我想编写一个逻辑向量,使得类型 =1 ,面积 = 3 和价值 = 6。我能够使用子集创建数据框,但我无法创建逻辑向量。

hello <- read.csv("type.csv")
hello1 <- subset(hello, type==1 & area ==3 & worth ==6)

值列中有许多 NA 值。数据集是https://www.dropbox.com/s/gjjwmnr8uxmy18y/type.csv

谢谢。

贾巴巴

4

2 回答 2

18

所以这个问题仍然得到回答:

which(with(hello, type == 1 & area == 3 & Worth == 6))

请记住,您可以将其用作:

which(hello$type1 == 1 & hello$area == 3 & hello$Worth == 6)

也是。但是,当您有更多的语句要检查时,awith会派上用场,因为它允许您检查而无需hello$每次都输入。

于 2013-02-02T06:36:12.897 回答
6

尽管已经接受了答案,但 OP 要求创建一个逻辑向量,并且答案

which(hello$type1 == 1 & hello$area == 3 & hello$Worth == 6)

返回符合这些条件的行。要改为返回逻辑向量,只需使用 的参数which,即

hello$type1 == 1 & hello$area == 3 & hello$Worth == 6
于 2015-02-14T13:50:38.697 回答