我已经创建了一张表格,其中包括一个按照性别、主题等分类的1000首歌曲列表。我想知道有多少年份重复,并且有多少在其他类别中。我尝试过:
sort(summary(as.factor(canciones$YEAR)), decreasing=T)[1:3]
输出结果如下:
1968 1966 1979
39 37 34
但我希望它能够实现
1968 1966 1979 Others
39 37 34 950
我已经创建了一张表格,其中包括一个按照性别、主题等分类的1000首歌曲列表。我想知道有多少年份重复,并且有多少在其他类别中。我尝试过:
sort(summary(as.factor(canciones$YEAR)), decreasing=T)[1:3]
输出结果如下:
1968 1966 1979
39 37 34
但我希望它能够实现
1968 1966 1979 Others
39 37 34 950
这里是一些样本数据。
set.seed(1)
x <- sample(10, 500, TRUE)
table()
而不是 summary(factor())
,因为 summary.factor()
在幕后已经执行了这个操作。xx <- sort(table(x), decreasing = TRUE)
c(xx[1:3], Others = sum(xx[-(1:3)]))
# 5 2 4 Others
# 64 61 57 318
注意:使用Others = length(x) - sum(xx[1:3])
可能会更快,也可能不会更快。
我使用一个叫做maxsum的参数解决了这个问题
plot_data <- sort(summary(as.factor(canciones$YEAR),maxsum=3), decreasing=T)[1:3]
table
? - TARehman