我希望我不会遗漏一些明显的东西,但这是我的问题:
给出这样的数据
Data1=
Name       Number
AndyBullxxx    12
AlexPullxcx    14
AndyPamxvb     56
RickRalldfg    34
AndyPantert    45
SamSaltedf     45
我想能够拉出所有以"Andy"开头的行
subset(Data1,Name=="Andy*")
AndyBullxxx  12
AndyPamxvb   56
AndyPantert  45
所以基本上是一个外卡符号,它允许我将所有以特定字符标记开头的行子集.
Mat*_*ert 20
尝试,
df[grep("^Andy",rownames(df)),]
第一个参数grep是模式,正则表达式.grep返回包含第一个参数中给出的模式的行.^表示开头.
让我们重现这个:
 df <- data.frame(x=c(12,14,56,34,45,45))
 rownames(df) <- c("AndyBullxxx", "AlexPullxcx","AndyPamxvb", "RickRalldfg","AndyPantert","SamSaltedf")
 ## see what grep does
 grep("^Andy",rownames(df))
如果你不舒服,包中regex有一个函数utils,它可以将基于通配符的表达式转换为正则表达式.所以你可以做到
df[grepl(glob2rx('Andy*'), rownames(df)),]
| 归档时间: | 
 | 
| 查看次数: | 45644 次 | 
| 最近记录: |