如果找到某个子字符串,则更改变量(通过 for 循环)
Change variable if a certain substring has been found (via for loop)
如果 x 包含 4,我想将 "variable" 更改为 1。
我写的这段代码似乎不起作用,因为之后
执行它,变量仍然为零。我试图包括 "print (i)"
查看for循环是否到达x中的“4”,但只有“1”
打印。所以for循环似乎不会超过一个运行....
有人能告诉我这段代码有什么问题吗?
x=22356478998
variable=0
for(i in 1:length(x)){
if( substr(x,start=i,stop=i)=="4"){
variable=1
break
}
}
您可以使用 stringr
包中的 str_detect()
:
library(stringr)
x=22356478998
variable <- ifelse(str_detect(x, "4"), 1, 0)
只需使用 grepl
(在 base
中)
variable = as.integer(grepl("4", x))
如果 x 包含 4,我想将 "variable" 更改为 1。
我写的这段代码似乎不起作用,因为之后
执行它,变量仍然为零。我试图包括 "print (i)"
查看for循环是否到达x中的“4”,但只有“1”
打印。所以for循环似乎不会超过一个运行....
有人能告诉我这段代码有什么问题吗?
x=22356478998
variable=0
for(i in 1:length(x)){
if( substr(x,start=i,stop=i)=="4"){
variable=1
break
}
}
您可以使用 stringr
包中的 str_detect()
:
library(stringr)
x=22356478998
variable <- ifelse(str_detect(x, "4"), 1, 0)
只需使用 grepl
(在 base
中)
variable = as.integer(grepl("4", x))