R向量值在函数中覆盖
我正在解决的具体问题: 创建一个具有iris数据集行数长度的字符向量,这样,每个元素都会得到一个字符值—“大于5”,如果对应的“Sepal.length”>5,则应该得到“小于5” 这项工作:R向量值在函数中覆盖,r,vector,integer,numeric,overwrite,R,Vector,Integer,Numeric,Overwrite,我正在解决的具体问题: 创建一个具有iris数据集行数长度的字符向量,这样,每个元素都会得到一个字符值—“大于5”,如果对应的“Sepal.length”>5,则应该得到“小于5” 这项工作: char_vect <- c(seq(1:nrow(iris))) for (i in char_vect) { if (iris$Sepal.Length[i] > 5) { char_vect[i] <- ("greater than 5") } else {
char_vect <- c(seq(1:nrow(iris)))
for (i in char_vect) {
if (iris$Sepal.Length[i] > 5) {
char_vect[i] <- ("greater than 5") } else {
char_vect[i] <- ("less than 5")
}
}
char\u vect 5){
char_vect[i]您的第二个版本实际上没有意义。通过如下更改for循环的主体,您可以看到:
char_vect <- iris$Sepal.Length
for (i in char_vect) {
cat(i, "\n")
}
5.1
4.9
4.7
4.6
5
5.4
... Output truncated
char\u vect另请参见ifelse
函数。i in char\u vect
:i
在第二种情况下不是数字索引,但您仍然像使用数字索引一样使用它。谢谢大家,显然还有更多需要学习的内容-没有考虑char\u vect btwn索引的差异。选项1和2
char_vect <- iris$Sepal.Length
for (i in char_vect) {
cat(i, "\n")
}
5.1
4.9
4.7
4.6
5
5.4
... Output truncated