我有以下数据集:
5 3 3 5 10 10 3 8 2 12 8 6 2 5 6 5 10 4 3 5 4 3 3 5 8 3 5 6 6 1 10 3 6 6 5 8 3 4 3 4 4 3 2.5 1 4 2 2 3 5 10 4 4 6 3 2 3 8 3 4 4 3 3 4 8 4 4 2 4 4 3 2 10 6 3 7 3 5 3 1 4 3 4 3 4 4 2 3 2 4 7 4 6 3.5 3.5 5 3 4 3 5 3 1.5 2.5 3 7 2 5 3 4 2 4 5 3 4 5 4.5 4 6 3 2 1 3 2 2 3 4 6 2 4 2 3 6 1.5 3 3 1 4 3 3 2 3 2 2 6 3 15 1 4 5 2 6 2 4 8 2 8 4 4 4 3 8 4 4 8.5 3 2 7 0.5 3 3 3 2 3 2 4 5 6 2 3.5 3 3 2 2 2.5 2 2 5 2 8 2 4 3 3 2 7 2 4 2 4 4 3 2.5 3 3 3 5
函数table()返回以下值:
table(df$var)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 8.5 10 12 15
1 6 2 35 4 54 3 41 1 19 15 5 10 1 6 1 1
我想要做的是省略count()为&lt; = 6的所有这些数字,这样当table()函数对数据运行时,它将返回如下所示的结果:< / p>
2 3 4 5 6 8
35 54 41 19 15 10
我在尝试什么:
test <- as.data.frame(table(df$var))
test[test$Freq > 6,2]
然后用它来获取表格()。 这真是糟糕的工作。
可以有任何其他最简短的方法,也许是单线程?
答案 0 :(得分:3)
您目前正在做的事情非常好。但是,如果您想缩短代码,可以使用const handleStatus = (ref, error = "Unknown error") => {
return new Promise((resolve, reject) => {
ref.child("status").on("value", snapshot => {
const status = snapshot.val();
if (status === SUCCESS) {
ref.child("status").off();
resolve(error); // is this really what you mean?
} else if (status !== PENDING) {
reject(error);
}
});
});
};
来评估新的with
,方法是考虑初始data.frame
。我会尽量避免两次运行data.frame
,因为它是多余的。
table
数据强>
with(data.frame(table(x)), data.frame(x = x[Freq>6], Freq = Freq[Freq>6]))
# x Freq
#1 2 35
#2 3 54
#3 4 41
#4 5 19
#5 6 15
#6 8 10
答案 1 :(得分:1)
这也是Filter
函数的一个很好的候选者:
Filter(function(y) y > 6, table(x))
## x
## 2 3 4 5 6 8
## 35 54 41 19 15 10
(“x”来自@ d.b的回答。)