假设我有一个数据框 df,其中包含一个取实际值的列“A”。我知道我只能从数据框中选择此列,并且我知道一些命令可以从中提取某些数据,例如
df.A = df[df$A > 5 & df$A < 10, c("A")]
但是,我将如何选择例如四分位距,更一般地,将列减去值的最小 X 百分比和最大 Y 百分比?
干杯
假设我有一个数据框 df,其中包含一个取实际值的列“A”。我知道我只能从数据框中选择此列,并且我知道一些命令可以从中提取某些数据,例如
df.A = df[df$A > 5 & df$A < 10, c("A")]
但是,我将如何选择例如四分位距,更一般地,将列减去值的最小 X 百分比和最大 Y 百分比?
干杯
您可以使用quantile()
:
df.A <- df[df$A > quantile(df$A,0.25) & df$A < quantile(df$A,0.75), c("A")]
使用子集,请参阅 ?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'))