我使用R进行数据分析,我有一个字符串变量,列出了调查中管理措施的顺序。这是一个受访者的字符串变量:
"pimgrwelcomerealstartnamelessTaskinstruct_itemshealth_itemsinstruct_selfsexp_instiat_esteemdebriefing1lastpage"
我有什么方法可以使用" grepl"测试这些措施的顺序?例如,我可以看看" health_items"字符串中的字符串早于#34; instruct_self" (在上面的字符串中是真的)?如果是这样,我想创建一个虚拟变量,以便测试顺序效果。
谢谢大家。
答案 0 :(得分:2)
我不是写这个作为答案而只是分享我对这个问题的看法:希望有人帮助grepl
您可以使用2种方法提取子字符串的位置,这些方法可用于检查第一个字符串是否位于第二个字符串之前:
regexpr("health_items", s). #where s is your string
# or
library(stringr)
str_locate(s, "health_items")
所以要知道哪个是第一个:
sapply( c("health_items", "instruct_self"), function(x) str_locate(s, x))
# this should return a vector with the start index.