2

假设我有一个数据框 df,其中包含一个取实际值的列“A”。我知道我只能从数据框中选择此列,并且我知道一些命令可以从中提取某些数据,例如

df.A = df[df$A > 5 & df$A < 10, c("A")]

但是,我将如何选择例如四分位距,更一般地,将列减去值的最小 X 百分比和最大 Y 百分比?

干杯

4

2 回答 2

3

您可以使用quantile()

df.A <- df[df$A > quantile(df$A,0.25) & df$A < quantile(df$A,0.75), c("A")]
于 2012-12-04T13:05:07.957 回答
1

使用子集,请参阅 ?subset 了解更多详细信息。但最好给出一个可重现的例子,不要使用 df 作为变量名,有一个 df 函数。

我重现一个例子

     dff <- data.frame(A= sample(1:100),B=sample(1:100))

我计算分位数范围

     qq <- quantile(A,probs=c(.025,.975))

我使用子集进行选择

     subset(dff, A > qq[1] & A< qq[1],select=c('A'))
于 2012-12-04T13:09:45.683 回答