我有一个列表,它有多个不同长度的矢量(总共80个)。在x轴上我想要这些矢量的名称。在y轴上,我想绘制对应于每个向量的值。我怎么能在R?
答案 0 :(得分:6)
执行此操作的一种方法是使用reshape2::melt
或其他方法重新整形数据。请尝试制作可重复的示例。我认为这是你所追求的主旨:
set.seed(4)
mylist <- list(a = sample(1:50, 10, T),
b = sample(25:40, 15, T),
c = sample(51:75, 20, T))
mylist
# $a
# [1] 30 1 15 14 41 14 37 46 48 4
#
# $b
# [1] 37 29 26 40 31 32 40 34 40 37 36 40 33 32 35
#
# $c
# [1] 71 63 72 63 64 65 56 72 67 63 75 62 66 60 51 74 57 65 55 73
library(ggplot2)
library(reshape2)
df <- melt(mylist)
head(df)
# value L1
# 1 30 a
# 2 1 a
# 3 15 a
# 4 14 a
# 5 41 a
# 6 14 a
ggplot(df, aes(x = factor(L1), y = value)) + geom_point()