嗨,我正在尝试返回虹膜数据集中所有列的子集的字符串。我正在寻找的输出是'iris $ Sepal.Length','iris $ Sepal.Width','iris $ Petal.Length','iris $ Petal.Width','iris $ Species'。
我在下面尝试了以下代码,使用paste0函数进行了for循环,但未返回任何结果。
for(i in colnames(iris)){
paste0('iris$',i , collapse ="")
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
paste0 已向量化,因此您可以直接执行
paste0("iris$", names(iris))
#[1] "iris$Sepal.Length" "iris$Sepal.Width" "iris$Petal.Length"
# "iris$Petal.Width" "iris$Species"
Run Code Online (Sandbox Code Playgroud)
在for循环中,您需要明确地告诉R做事
for(i in colnames(iris)){
print(paste0('iris$',i))
}
#[1] "iris$Sepal.Length"
#[1] "iris$Sepal.Width"
#[1] "iris$Petal.Length"
#[1] "iris$Petal.Width"
#[1] "iris$Species"
Run Code Online (Sandbox Code Playgroud)
或者您可以将其存储在字符向量中
string_name <- character(length = ncol(iris))
for(i in seq_along(names(iris))){
string_name[i] <- paste0('iris$',names(iris)[i])
}
string_name
#[1] "iris$Sepal.Length" "iris$Sepal.Width"
#"iris$Petal.Length" "iris$Petal.Width" "iris$Species"
Run Code Online (Sandbox Code Playgroud)