快速提问。我以多种不同的方式对变量进行分类以进行探索性数据分析。假设我有一个名为var
data.frame的变量df
。
df$var<-c(1,2,8,9,4,5,6,3,6,9,3,4,5,6,7,8,9,2,3,4,6,1,2,3,7,8,9,0)
到目前为止,我采用了以下方法(下面的代码):
#Divide into quartiles
df$var_quartile <- with(df, cut(var, breaks=quantile(var, probs=seq(0,1, by=.25)), include.lowest=TRUE))
# Values of var_quartile
> [0,3],[0,3],(7.25,9],(7.25,9],(3,5],(3,5],(5,7.25],[0,3],(5,7.25],(7.25,9],[0,3],(3,5],(3,5],(5,7.25],(5,7.25],(7.25,9],(7.25,9],[0,3],[0,3],(3,5],(5,7.25],[0,3],[0,3],[0,3]
#Bin into increments of 2
df$var_bin<- cut(df[['var']],2, include.lowest=TRUE, labels=1:2)
# Values of var_bin
> 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1
我想做的最后一件事是将变量按时间顺序排序后分成 10 个观察的部分。这是在找到中位数后进行拆分的相同方法(计数到中间观察值),只是我想以 10 个观察值为增量进行计数。
使用我的示例,这将分为var
以下部分:
0,1,1,2,2,2,3,3,3,3
4,4,4,5,5,6,6,6,6,7
7,8,8,8,9,9,9
注意——我需要在非常大的数据集中运行这个操作(通常是 3-600 万个宽幅观察)。
我该怎么做呢?谢谢!