R for循环中的if-else语句
我有一个由3列组成的数据表,分配给变量gR for循环中的if-else语句,r,R,我有一个由3列组成的数据表,分配给变量g g # V1 V2 V3 # [1,] 1 Yes 3 # [2,] 4 No 6 # [3,] 7 No 9 # ... 我试图创建一个列表m,通过检查g[,2]中的值是“是”还是“否”,然后将一些字符串粘贴到m中 m <- for(i in 1:nrow(g)){ if(g[i,2]=='No'){ paste0("ABC", g[i,1], "DEF", g[i,2], "GHI", g[i,
g
# V1 V2 V3
# [1,] 1 Yes 3
# [2,] 4 No 6
# [3,] 7 No 9
# ...
我试图创建一个列表m,通过检查g[,2]中的值是“是”还是“否”,然后将一些字符串粘贴到m中
m <- for(i in 1:nrow(g)){
if(g[i,2]=='No'){
paste0("ABC", g[i,1], "DEF", g[i,2], "GHI", g[i,3],"\n")
} else if(g[i,2]=='Yes'){
paste0("GHI", g[i,1], "DEF", g[i,2], "ABC", g[i,3],"\n")
} else {NULL}
}
m
# NULL
有人能指出我做错了什么吗?多谢各位 A
for
循环不会在R中返回任何内容。通常,您需要更新另一个变量,以便在for
循环之后继续使用。例如:
m <- "intialize" # initialize, sometimes better as just `list()`
for(i in 1:nrow(g)){
if(g[i,2]=='No'){
# paste into position i of vector m
m[i] <- paste0("ABC", g[i,1], "DEF", g[i,2], "GHI", g[i,3],"\n")
} else if(g[i,2]=='Yes'){
# paste into position i of vector m
m[i] <- paste0("ABC", g[i,1], "DEF", g[i,2], "GHI", g[i,3],"\n")
} else {
NULL
}
}
m
> ...
m
m <- "intialize" # initialize, sometimes better as just `list()`
for(i in 1:nrow(g)){
if(g[i,2]=='No'){
# paste into position i of vector m
m[i] <- paste0("ABC", g[i,1], "DEF", g[i,2], "GHI", g[i,3],"\n")
} else if(g[i,2]=='Yes'){
# paste into position i of vector m
m[i] <- paste0("ABC", g[i,1], "DEF", g[i,2], "GHI", g[i,3],"\n")
} else {
NULL
}
}
m
> ...