我想调用for循环中的对象列表。在for循环中,我想使用我的列表对象的名称" i"在另一个列表中" n"作为我的一张图上标签的字符。
所以,我希望我成为一个字符
我试过了
for(i in n){as.character(bquote(.(i))}
但它返回"我",我需要它来返回i 所以,如果我的对象我被命名为cat,我想要" cat",而不是"我"。
和
for(i in n){quote(i)}
但是,它会将我列表中的所有内容转换为字符。
好的,这是一个例子
cat<-c(1,2,3,4)
dog<-c(5,6,7,8)
walrus<-list(cat=cat,dog=dog)
duck<-c(5,5,5,5,5)
goose<-c(6,6,6)
narwhal<-list(duck=duck, goose=goose)
polarbear<-list(walrus=walrus, narwhal=narwhal)
for(i in polarbear){print(as.character(i))}
我想&#34;海象&#34;和&#34;独角鲸&#34;作为我的输出,但一次只有一个。
答案 0 :(得分:0)
您尝试做的事情并不明显,但您的数据可能更容易作为数据框使用。使用listless
包(尚未在CRAN上)转换它。
获取listless
:
library(devtools)
install_bitbucket("graumannlabtools/listless")
转换为数据框:
library(listless)
(polarbear_data <- list_to_data.frame(polarbear))
## names1 names2 values
## 1 walrus cat 1
## 2 walrus cat 2
## 3 walrus cat 3
## 4 walrus cat 4
## 5 walrus dog 5
## 6 walrus dog 6
## 7 walrus dog 7
## 8 walrus dog 8
## 9 narwhal duck 5
## 10 narwhal duck 5
## 11 narwhal duck 5
## 12 narwhal duck 5
## 13 narwhal duck 5
## 14 narwhal goose 6
## 15 narwhal goose 6
## 16 narwhal goose 6
polarbear_data
采用的形式可以轻松使用其他工具,例如dplyr
或ggplot2
。
library(ggplot2)
ggplot(polarbear_data, aes(interaction(names1, names2), values)) +
geom_boxplot()