【发布时间】:2013-07-30 16:28:04
【问题描述】:
所以我将我的数据集分成几组,我想知道如何从百分比列中找到大于或等于值 70 的行(注意:数据框中还有其他列,它们只是没有显示)
gdata <- split(data, Opportunity.Name)
Dataframe 看起来像这样(包含更多组):
Opportunity.Name: Percentage
Bob 50
Bob 60
Bob 20
Bob 80
Bob 90
Bob 100
Jon 100
Jon 90
gdata$'Bob'
Opportunity.Name Percentage
Bob 50
Bob 60
Bob 20
Bob 80
Bob 90
Bob 100
我想应用一些函数来过滤掉 50、60 和 20 百分比的行并保留其他值(并让它为我创建的所有组执行此操作)。谢谢!
【问题讨论】:
-
“所以我将我的数据集分成了几个组” - 为什么?没有多少情况值得这样做(当然也不用做你要求的计算)。
-
我需要按机会名称计算中位数/均值/总和,然后再取整组数据的更多中位数/均值/总和。如果有更简单/替代的方法,我很想知道!!
-
是的,有很多更好的方法,一种是使用
data.table。类似于dt = data.table(your_df); dt[, list(mean.person = mean(Percentage), median.person = median(Percentage)), by = Opportunity][, list(mean.total = mean(mean.person))]的东西;在 SO 和 Google 上搜索data.table,如果您有任何疑问 - 您知道 SO 在哪里 :)