我正在尝试根据条件语句替换元素。例如
df=c(1,2,"b","b",1,2,2,"b",2,1,2,2,"b",1,1,2)
for(i in 1:length(df)){
if (df[i]=="b"){
df[i+1]="N"
df[i+2]="N"
df[i+3]="N"
}
}
df
[1] "1" "2" "b" "N" "N" "N" "2" "b" "N" "N" "N" "2" "b" "N" "N" "N"
我想找到一种简单的方法,因为我需要替换数据框中的以下90个元素。因此,我尝试了以下无法提供所需输出的内容。
n=3
for(i in 1:length(df)){
if (df[i]=="b"){df[i+1:i+n]="N"}
}
df
[1] "1" "2" "b" "b" "1" "2" "N" "N" "N" "N" "N" "2" "b" "1" "1" "2" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N"
非常感谢您的帮助或建议。
您可以通过以下方式修改代码:
for(i in 1:length(df)){
if (df[i]=="b"){
df[i+1:3]<-"N"
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句