【问题标题】:grid.arrange all columns of a data framegrid.arrange 数据框的所有列
【发布时间】:2017-07-01 10:49:45
【问题描述】:

我在数据框中保存了任意数量的随机样本:

sigmas = 1:5
xs = sapply(sigmas, function (v) rrayleigh(size, v))
mat = matrix(xs, ncol = length(sigmas), dimnames = list(NULL, sigmas))
df = data.frame(mat)

现在我想为每一列保存一个直方图,然后使用grid.arrange() 绘制它。调用后

ps = sapply(df, function (v) qplot(x = v))
p = qplot(df$X1)

p 生成直方图,而ps$X1 输出NULL。我究竟做错了什么?谢谢。

【问题讨论】:

  • 另一种方法是将数据重新整形为长(融化),然后使用事实。

标签: r dataframe ggplot2 gridextra


【解决方案1】:

(我建议使用lapply 而不是sapply

你可以改变:

ps = sapply(df, function (v) qplot(x = v))

到:

library(iterators)
ps = lapply(iter(df,by="col"), function(v) qplot(v))

或:

ps = lapply(1:ncol(df), function(v) qplot(df[,v]))

您的问题是您一次提供了整个数据框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 2014-10-22
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多