获取不包含列的给定值的子集
Get a subset not containing a given value of the column
我有一个 table 叫 data
:
A 22
B 333
C Not Av.
D Not Av.
如何获得一个子集,从中排除所有包含 "Not Av." 的行?重要的是要提到我有要检查的列的索引(在本例中 colnum
= 2),但我没有它的名称。
我试过了,但没用:
data<-subset(data,colnum!="Not Available")
您并不真正需要 subset
功能。只需使用 [
:
> set.seed(42)
> DF <- data.frame(x = LETTERS[1:10],
y = sample(c(1, 2, 3, "Not Av."), 10, replace = TRUE))
> DF
x y
1 A Not Av.
2 B Not Av.
3 C 2
4 D Not Av.
5 E 3
6 F 3
7 G 3
8 H 1
9 I 3
10 J 3
> DF[DF[2] != "Not Av.",]
x y
3 C 2
5 E 3
6 F 3
7 G 3
8 H 1
9 I 3
10 J 3
df <- read.csv(text="A,22
B,333
C,Not Av.
D,Not Av.", header=F)
df[df[,2] != "Not Av.",]
如果您还想使用子集功能:
df<-subset(df,!grepl("Not Av",df[,2]))
我有一个 table 叫 data
:
A 22
B 333
C Not Av.
D Not Av.
如何获得一个子集,从中排除所有包含 "Not Av." 的行?重要的是要提到我有要检查的列的索引(在本例中 colnum
= 2),但我没有它的名称。
我试过了,但没用:
data<-subset(data,colnum!="Not Available")
您并不真正需要 subset
功能。只需使用 [
:
> set.seed(42)
> DF <- data.frame(x = LETTERS[1:10],
y = sample(c(1, 2, 3, "Not Av."), 10, replace = TRUE))
> DF
x y
1 A Not Av.
2 B Not Av.
3 C 2
4 D Not Av.
5 E 3
6 F 3
7 G 3
8 H 1
9 I 3
10 J 3
> DF[DF[2] != "Not Av.",]
x y
3 C 2
5 E 3
6 F 3
7 G 3
8 H 1
9 I 3
10 J 3
df <- read.csv(text="A,22
B,333
C,Not Av.
D,Not Av.", header=F)
df[df[,2] != "Not Av.",]
如果您还想使用子集功能:
df<-subset(df,!grepl("Not Av",df[,2]))