我试图在数据框中找到包含某个字符串的索引.但我希望我的字符串不区分大小写.说,我想在名为COLUMN73的数据框中搜索列号,我希望它返回73,因为它是第七十三列.我有,
which(names(mydata) == "COLUMN73")
Run Code Online (Sandbox Code Playgroud)
是否有可能使我的搜索字符串不敏感,以便即使我搜索说CoLumN73也能得到73?
谢谢.
您可以grepl使用ignore.case参数对其进行索引
x <- c("col7", "COL73", "Col17", "CoL73", "cOl73")
grepl("col73", x, ignore.case=TRUE)
# [1] FALSE TRUE FALSE TRUE TRUE
Run Code Online (Sandbox Code Playgroud)
同样,grep返回数字索引
grep("col73", x, ignore.case=TRUE)
# [1] 2 4 5
Run Code Online (Sandbox Code Playgroud)
对于数据框列子集
df[grepl("col73", names(df), ignore.case=TRUE)]
Run Code Online (Sandbox Code Playgroud)
您可以将您的名字转换为大写字母
which(toupper(names(mydata)) == "COLUMN73")
Run Code Online (Sandbox Code Playgroud)