【问题标题】:How to access frame of data from vector in R?如何从R中的向量访问数据帧?
【发布时间】:2015-10-17 00:03:35
【问题描述】:

我正在使用 R 数据框并尝试独立绘制每一列。我希望“固定”变量形成 x 轴(字符串),而其他 2、3 或 4(函数需要处理所有这些)是单独的行。我目前处理这个的方式:我有一个包含数据框属性名称的向量。但是,显然简单地使用向量不会正确索引它。下面是数据框的样子:

> retset
  fixed       st1       st2       st3       st4
1  str1 0.9335938 0.9445313 0.9170455 0.9090909
2  str2 0.9670732 0.9768750 0.9637500 0.9532895
3  str3 0.9037500 0.9325758 0.8890625 0.8546875
4  str4 0.9540541 0.9717949 0.9397436 0.9354167
5  str5 0.9154412 0.9382812 0.9090909 0.9117188

然后是一个向量:

uniq <- c("st1", "st2","st3","st4")

我想把它画成这样:

z<-ggplot(data=retset)
for (x in length(uniq)) {
  z <- z + geom_line(data=retset, aes(x=fixed,y=uniq[x], color=uniq[x]))
}

有人有什么建议吗?

【问题讨论】:

  • 这不会阻止我使用数据框本身吗?
  • aes_string。示例 here,如果搜索 aes_stringggplot2 循环,还有许多其他示例。
  • 或者 - 正如@BG1850 提到的 - 先融化你的数据。

标签: r ggplot2


【解决方案1】:

我不确定我是否理解正确, 但据我了解,根据 Fixed 列融合数据,然后制作绘图会起作用

【讨论】:

  • 你是对的。它会起作用,并且在长数据中图例要容易得多。但是,这并不是真正的答案,而是更多的评论(因为它没有提供任何代码来分析 OP 的问题。
  • 是的,我同意我没有足够的声誉来发表评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 2017-06-12
  • 2019-08-08
  • 2015-02-19
  • 1970-01-01
  • 2016-11-29
相关资源
最近更新 更多