我正试图从一个对象中筛选数据("E11719"、"E11710"、"E11718"、…(,该对象的列由带数字和字母的数据组成。我该如何过滤?
df <- choose.files()
df <- read.csv(df)
df35 <- dplyr::filter(df$Name_Abbr, "E11907","E12018","E12001","E12000")
UseMethod中的错误("filter"(:没有适用于"filter"类对象的方法;字符";
df
第一行示例:
Name Name_G Name_Abbr
1 BetaCoV.bat.China.Rhinolophus_blythi.PrC31.MW703458 Gen1 B1 bat
Country.Species Continents Longitude Latitude Color
bat Bat #N/A #N/A red
filter()
函数的格式不正确。第一个参数应该是.data
,它是一个数据帧,但不是向量(df$Name_Abbr
将返回一个向量(。
我不确定你希望包括哪些基因。如果您希望包含所有以E1
开头的基因,您可以执行以下操作:
df %>% filter(grepl("^E1", Name_Abbr))
或
filter(df, grepl("^E1", Name_Abbr))
grepl()
返回逻辑值,因此grepl("^E1", Name_Abbr)
将在Name_Abbr
列中查找以E1
开头的任何内容(regex^
(。