我是ggplot2的初学者。 我有这个数据框:
df <- data.frame(testno = 1:4, y1 = c(1.2,3.1,4.6,6.7), y2 = c(5,3.2,9.6,8.8))
df$testno <- factor(df$testno)
我可以从中轻松绘制出
:ggplot(df, aes(x = y1, y=y2)) + geom_point()
我融化了数据框(要么是因为我需要这样做,要么是因为我收到的要分析的内容实际上已经融化了”)
dfmelt <- melt(df, id = "testno")
是否可以将具有geom_point的ggplot应用于熔融数据框,以获取上面的散点图?例如,这种方式行不通。
ggplot(dfmelt) + geom_point(aes(x=value, y=value, group = testno))
当然,我使用的数据帧更大/更长,并且无需使用dcast或类似方法来获得宽格式,保持熔融数据帧将非常方便。 我找不到合适的关键字来找到此简单问题的答案。
感谢您的帮助!
答案 0 :(得分:0)
优良作法是将整洁的数据馈入ggplot
,其中每个观察值位于一行,每个变量位于一列。对于您的meltdf
数据框,显然不是这种情况。幸运的是,如果要绘制数据,可以很容易地再次整理数据(即使对于较大的数据框):
recreated_df <- spread(dfmelt, key = variable, value = value)
> recreated_df
testno y1 y2
1 1 1.2 5.0
2 2 3.1 3.2
3 3 4.6 9.6
4 4 6.7 8.8
出于其他目的,您当然可以保留融化的数据框。