gpt4 book ai didi

r - 如何生成一个因素以另一个因素为条件的条形图?

转载 作者:行者123 更新时间:2023-12-04 10:36:44 27 4
gpt4 key购买 nike

给定如下数据框,其中包含 2 个或更多因素:

 data <- data.frame(V1=sample(c('A','B','C'), 50, T), V2=sample(c('X','Y'),50,T))

我可以独立生成一个因素列表的条形图,例如:

library(lattice)
with(data, barchart(V1))

如何根据第二个因素的值生成多面板图?我希望使用的语法是:

with(data, barchart(V1 | V2))

但这会产生以下警告:

Warning message:
In Ops.factor(V1, V2) : | not meaningful for factors

没有有意义的输出。

最佳答案

当您调用 with(data, barchart(V1)) 时,您是在类因子的对象上调用 barchart 并且它正在调用 barchart.default,它调用 barchart(table(V1)) 的等价物(因此调用 barchart.table)生成您想要的图。

如果你想同时包含 V1V2 你必须在你的表中使用它们,即。

with(data, barchart(table(V1, V2))

enter image description here

然后您可以使用 groups = TRUE 将最后一个维度设置为分组变量

例如

with(data, barchart(table(V1, V2), groups = TRUE))

enter image description here

如果要使用公式方法,则必须事先自行计算值。

例如

 library(data.table)
DT <- data.table(data)

barchart(V1~N|V2,DT[, .N,by= list(V1,V2)])

它给出与 with(data, barchart(table(V1, V2), groups = TRUE)) 相同的结果

关于r - 如何生成一个因素以另一个因素为条件的条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16028792/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com