sách gpt4 ai đã đi

r - Tạo trường "khác"

In lại 作者:行者123 更新时间:2023-12-04 05:50:17 27 4
mua khóa gpt4 Nike

现在,我有以下由 original.df %.% group_by(Category) %.% tally() %.% arrange(desc(n)) 创建的 data.frame。

DF <- structure(list(Category = c("E", "K", "M", "L", "I", "A", 
"S", "G", "N", "Q"), n = c(163051, 127133, 106680, 64868, 49701,
47387, 47096, 45601, 40056, 36882)), .Names = c("Category",
"n"), row.names = c(NA, 10L), class = c("tbl_df", "tbl", "data.frame"
))

Category n
1 E 163051
2 K 127133
3 M 106680
4 L 64868
5 I 49701
6 A 47387
7 S 47096
8 G 45601
9 N 40056
10 Q 36882

我想从排名靠后的类别中按 n 创建一个“其他”字段。 IE。
        Category n
1 E 163051
2 K 127133
3 M 106680
4 L 64868
5 I 49701
6 Other 217022

现在,我正在做
rbind(filter(DF, rank(rev(n)) <= 5), 
summarise(filter(DF, rank(rev(n)) > 5), Category = "Other", n = sum(n)))

它将所有不在前 5 名中的类别折叠到其他类别中。

但我很好奇在 dplyr 或其他一些现有包中是否有更好的方法。 “更好”是指更简洁/可读。我也对以更聪明或更灵活的方式选择 Other 的方法感兴趣。

1 Câu trả lời

不同的包/不同的语法版本:

thư viện(dữ liệu.bảng)

dt = as.data.table(DF)

dt[order(-n), # your data is already sorted, so this does nothing for it
if (.BY[[1]]) .SD else list("Other", sum(n)),
by = 1:nrow(dt) <= 5][, !"nrow", with = F]
# Category n
#1: E 163051
#2: K 127133
#3: M 106680
#4: L 64868
#5: I 49701
#6: Other 217022

关于r - 创建 "other"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23730067/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com