我对R中的变量名称有疑问。
在我的数据集中,我有70个变量名称列表作为字符,我想在数据中找到相应的数据(包括标题)。
例如,我使用了数据集iris。我不想通过iris $ Sepal.Length选择所有变量,因为我在我使用的数据集中有70个变量。在我的代码中,我可以打印数据,但我很难将数据保存为具有相应标题名称的数据帧。有人有什么想法吗?
iris
head(iris)
colnames(iris)
b <- list("Sepal.Length","Petal.Length")
i=1
for (i in 1:length(b)){
#print(b[[i]])
print(iris[,c(b[[i]])])
c[,i]<-(iris[,c(b[[i]])])
}
答案 0 :(得分:0)
我发现dplyr最适合这个。如果你把光圈变成一个光纤
iris <- as_tibble(iris)
然后,您可以使用dplyr :: select函数,按名称(无引号)或按位置选择。您甚至可以使用1:5表示法选择第1列到第5列。一个很好的起点是:http://r4ds.had.co.nz
答案 1 :(得分:0)
听起来你正试图从data.frame或matrix获得70列的子集。您拥有的70列存储在list
中。 R将允许您获取由character
向量命名的列,但不是list
。因此,您只需使用unlist
。
b <- list("Sepal.Length","Petal.Length")
newTable <- iris[,unlist(b)]
答案 2 :(得分:0)
b <- c("Sepal.Length","Petal.Length")
New_iris=iris[,b]