假设我们有字符向量
x <- as.character(c("101H","208H","335","467","521C","689J","704","800"))"500“以上的项目(最后四个条目)将标记为TRUE。如果我们可以将向量转换为数字并执行ifelse(),那么就足够简单了,但是由于嵌入的字母,NaNs将被引入。
相反,我想使用library(stringr)告诉R识别一个模式,并将TRUE分配给满足该模式的元素。但是,就像
grepl("[5-9]",x)不能正常工作,因为R只是查找模式的任何出现,而不管模式在条目中的位置。
我如何告诉R只查看每个条目的第一个元素?
非常感谢!
发布于 2014-11-23 00:09:32
grepl("[5-9]",x)告诉您哪些元素包含5、6、7、8或9。gsub更合适。若要在检查前删除所有字母,只要字符串中只有字母和数字,请尝试
as.numeric(gsub("\\D", "", x)) > 500
# [1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE关于最后一行,您可以告诉R只查看每个字符串的第一个字符
substr(x, 1, 1)https://stackoverflow.com/questions/27084011
复制相似问题