1

1つの列の名前に単語がないデータフレームからすべての行を選択する方法はありますか?

例:

このデータフレームから

Organism    Value
Boa (sick)  3
Cat         1
Cat (sick)  2
Wolf        2
Wolf (sick) 8
Crow        4

(sick)名前のない行が必要です:

Organism    Value
Cat         1
Wolf        2
Crow        4

データの形式が間違っていることはわかっているので、「ヘルス」の3番目の列を設定する方がよいでしょうが、自分が持っているデータを処理する必要があります。

4

3 に答える 3

7
d <- data.frame(Organism=c("Boa (sick)", "Cat", "Cat (sick)", "Wolf", "Wolf (sick)", "Crow"), Value=c(3, 1, 2, 2, 8, 4), stringsAsFactors=FALSE)

d[!grepl(pattern="(sick)", x=d$Organism, fixed=TRUE), ]
#  Organism Value
#2      Cat     1
#4     Wolf     2
#6     Crow     4
于 2012-08-18T23:49:00.560 に答える
1

試す

df<-data.frame(Organism=c('Boa (sick)','Cat','Cat (sick)','Wolf','Wolf (sick)','Crow'),Value=c(3,1,2,2,8,4))
expel<-grep('(sick)',df$Organism)
if(length(expel)>0){
  df1<-df[-expel,]
}
df1
#  Organism Value
#2      Cat     1
#4     Wolf     2
#6     Crow     4
于 2012-08-18T23:47:17.363 に答える
0

さらに別の非常に類似した代替案:

subset(d, grepl("(sick)", Organism, fixed=TRUE))
于 2012-08-19T03:23:31.940 に答える