我有一个数据框如下
chr Type
1 Tum,B,B,Tum
2 B,B
3 Tum,Tum
4 B,B,B,Tum
我只想选择同时具有Tum和B的那些行插入到新数据框中,结果如下:
chr Type
1 Tum,B,B,Tum
4 B,B,B,Tum
我尝试了以下
PusungMix <- as.data.frame(Pusung[grep("Barr"&"Tum", Pusung$Type])
但我得到了错误
Error in "Barr" & "Tum" :
operations are possible only for numeric, logical or complex types
我们可以使用doublegrepl
来创建两个逻辑索引,并使用来检查两个实例均为TRUE的实例&
。这可用于子集“ df1”的行。
indx <- grepl('B', df1$Type) & grepl('Tum', df1$Type)
df1[indx,]
# chr Type
#1 1 Tum,B,B,Tum
#4 4 B,B,B,Tum
或者,如注释中建议的@Gaurav,subset
如果我们不想使用,则是另一种选择[
。我们可以去除df1$
内subset
,也不必有关删除的尺寸的担心drop=FALSE
是默认subset
的,而[
,它是drop=TRUE
。因此,vector
如果我们没有drop=FALSE
在中明确指定,则当我们只有一列或一行时,它将把尺寸降至a [
。
subset(df,grepl('B', Type) & grepl('Tum', Type))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句