我有一个数据框:
1 Pos like 77
2 Neg like 58
3 Pos make 44
4 Neg make 34
5 Pos movi 154
6 Neg movi 145
...
20 Neg will 45
我想使用ggplot2中的geom_text
图层生成一个图。
我已使用此代码
q <- ggplot(my_data_set, aes(x=value, y=value, label=variable))
q <- q + geom_text()
q
产生了这个情节:
显然,这不是一个理想的情节。
我想生成一个类似的图,除了我想在x轴上有Positive类,在y轴上有Negative类。
更新:这是我试图模仿的一个例子:
我似乎无法弄清楚将参数提供给geom_line
图层的正确方法。
在给定数据框的情况下,在X轴上绘制正参数值的正确方法是什么,在Y轴上绘制负参数的值是什么?
感谢您的关注。
答案 0 :(得分:4)
my_data_set <- read.table(text = "
id variable value
Pos like 77
Neg like 58
Pos make 44
Neg make 34
Pos movi 154
Neg movi 145", header = T)
library(data.table)
my_data_set <- as.data.frame(data.table(my_data_set)[, list(
Y = value[id == "Neg"],
X = value[id == "Pos"]),
by = variable])
library(ggplot2)
q <- ggplot(my_data_set, aes(x=X, y=Y, label=variable))
q <- q + geom_text()
q
答案 1 :(得分:1)
使用reshape2
也可轻松完成此操作(结果与David Arenburg's answer相同):
df <- read.table(text = "id variable value
Pos like 77
Neg like 58
Pos make 44
Neg make 34
Pos movi 154
Neg movi 145", header = TRUE)
require(reshape2)
df2 <- dcast(df, variable ~ id, value.var="value")
library(ggplot2)
ggplot(df2, aes(x=Pos, y=Neg, label=variable)) +
geom_text()
导致: