【发布时间】:2021-01-23 19:38:13
【问题描述】:
我有一个列表列表。各个列表具有不同的长度。我想为每个列表绘制直方图。我将列表列表转换为数据框,然后尝试绘制它。
temp_df <- t(rbind.fill.matrix(lapply(list_of_list, t)))
temp_df <- data.frame(temp_df)
ggplot(temp_df, aes(x=temp_df)) +
geom_histogram(binwidth=1)
我看不到任何直方图。如果我指定数据框中的每一列,我可以绘制直方图。但我想使用单个 ggplot 绘制所有直方图。我使用了 melt 函数来绘制数据框,但 id.vars 和 measure.vars 出现错误。当我想在数据框中绘制所有 6 列时,我不知道要为两者设置什么。
temp_df 有 6 个变量的 10000 个观察值。列名是X1, X2, X3, X4, X5, X6。 X1 的 NA 值数量最多,NA 的数量随着每列而减少。
dput(head(temp_df)) 的输出
structure(list(X1 = c(0.480449055839274, -0.107119140171712,
-0.365858052127729, 0.142260729396714, -0.664216637912416, -1.05470170555422
), X2 = c(0.301784141398639, 0.908712942126812, -0.523782030032318,
-1.11579555551399, 1.37307441850034, 0.280296905306203), X3 = c(-0.874933841230617,
0.402832753722461, -0.914278256004907, -1.56882801460065, -1.02631196686353,
-0.187458890178538), X4 = c(3.12470729624475, 0.103689667221851,
0.635940469415468, 1.28922541408293, 0.372579420923551, -1.0709964435315
), X5 = c(-0.631989132409366, -1.49196931038828, -0.647211733851087,
-0.367277837168729, -0.988614185107109, 0.38110365216619)), X6 = c(-0.511289132409966, -1.43496932451928, -0.078211457296717,
-0.251792319052356, -0.893756281930586, 0.19284860482647)), row.names = c("1",
"2", "3", "4", "5", "6"), class = "data.frame")
list_of_list 中的值类似于temp_df。每个子列表的长度从 100 到 10000 不等。
【问题讨论】:
-
您能分享一下您的数据是什么样的吗?鉴于没有列名,这是一个不可能的问题...
-
@maloneypatr 编辑添加
temp_df数据。 -
您需要使数据输入 100% 可重现。前来帮忙的人不知道名为
list_of_list的对象是什么样的。 -
在您的问题中包含
dput(head(temp_df))的输出... -
@maloneypatr 完成