我的数据框df
包含2列:A
,B
。
我希望在Y轴上有一个包含A
和B
的图表。注意:我不想将A
和B
合并。他们每个人都有自己的结果。
因此,所需的输出应包含x轴的每个单独值,两个框(一个用于A
,一个用于B
)彼此相邻(offset = 0)。
df
的样本:
A B
200. 30.
100. 26.
27. 25.
25. 22.
40. 21.
20. 18.
我不想使用重塑或交互。我宁愿只使用ggplot和boxplot。
ReadData<-read.csv("data.csv", header=T)
A<-ggplot(ReadData,aes(A)+
geom_boxplot(ReadData$A)
B<-ggplot(ReadData,aes(B)+
geom_boxplot(ReadData$B)
print(A)
print(B)
它不起作用?它抱怨映射aes !!! 任何劝说?
答案 0 :(得分:0)
数据:
df <- read.table(text="A B
200. 30.
100. 26.
27. 25.
25. 22.
40. 21.
20. 18. ", header = TRUE)
以下代码生成条形图。无法生成具有单个值的箱线图。
library(ggplot2)
ggplot(stack(df), aes(x = rownames(df), y = values, fill = ind)) +
geom_bar(stat="identity", position="dodge")
答案 1 :(得分:0)
以先前的答案为基础,并生成箱线图
df <- read.table(text="A B
200. 30.
100. 26.
27. 25.
25. 22.
40. 21.
20. 18. ", header = TRUE)
ggplot(
data = df %>%
pivot_longer(
cols = c(A, B),
names_to = "x",
values_to = "y",
),
aes(x = x, y = y, fill = x)) +
geom_boxplot(outlier.colour = "red", show.legend = FALSE)
您可能要对比例进行一些调整,添加抖动点等。