我创建了一个表格,其中包含按性别,主题等组织的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
答案 0 :(得分:9)
以下是一些示例数据。
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])
注意:使用CREATE TRIGGER `TEST`
BEFORE INSERT ON `table2`
FOR EACH ROW BEGIN
SET NEW.row = (SELECT row_from_table_1 FROM table_1 WHERE id = NEW.id);
END
可能会或可能不会更快。