gpt4 book ai didi

r - 将仅出现一次的值分组到其他字段中

转载 作者:行者123 更新时间:2023-12-04 10:46:17 25 4
gpt4 key购买 nike

我有一组罗马硬币,我想用 ggplot 来代表它们。在 R。

数据中有 25 种不同的面额,但我想将所有仅出现一次的面额合并到“其他”字段中,以便图表更易于阅读。

  Medium Method Denom            Date                  Era
1 Silver Struck Denarius 112 B.C.E.:111 B.C.E. Period V – c. 119-91 B.C.E.
2 Bronze Cast Χαλκα μεγεθους 181 B.C.E.:174 B.C.E. Period III – c. 187-155 B.C.E.
3 Bronze Struck Litra:Half-litra 269 B.C.E. Period I – 269 - c. 222 B.C.E.
4 Bronze Struck Litra:Half-litra 269 B.C.E. Period I – 269 - c. 222 B.C.E.
5 Silver Struck Didrachm 275 B.C.E.:270 B.C.E. Period I – 269 - c. 222 B.C.E.
6 Bronze Struck Double-litra 275 B.C.E.:270 B.C.E. Period I – 269 - c. 222 B.C.E.

使用上面的 data.frame 示例,“Denom”列需要将仅出现一次的每个值组合在一起并显示为“其他”。我想我应该在开始绘图之前在数据中执行此操作。请指出我正确的方向。

这是我用于 ggplot 的代码如果这有帮助。
ggplot(data=longbadian, aes(x=Era, fill=Denom)) 
+ geom_bar(aes(x=Era2), data = longbadian, stat="bin")
+ theme(axis.text.x = element_text(angle=75, hjust=1),
legend.title=element_blank())
+ xlab("Sydenham Periods")
+ ylab("Coins by Denomination")

这是一个示例图:

enter image description here

最佳答案

像这样的东西:

## example data
dd <- data.frame(DENOM=rep(LETTERS[1:7],c(10,5,4,rep(1,4))))
tt <- table(dd$DENOM) ## count occurrences
singletons <- names(tt)[tt==1] ## find singletons
tmpc <- as.character(dd$DENOM) ## convert from factor to char
tmpc[tmpc %in% singletons] <- "OTHER" ## replace values
dd$DENOM <- factor(tmpc) ## convert back to factor

这个解决方案的唯一问题是它会搞砸任何
您的 DENOM 中预先存在的非默认排序因素。

关于r - 将仅出现一次的值分组到其他字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30577971/

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