我有一个具有以下结构的数据集:
Name=c("a","b","c")
Amount_Spent=c(386407,213918,212006)
Run Code Online (Sandbox Code Playgroud)
我想要做的是计算Amount_Spent每个名称属于哪个四分位数,并将值分配给一个新变量(列)Quantiles。我无法使用任何应用功能来获得此结果,有人可以帮忙吗?
提前致谢,拉乌尔
您可以使用cut和来执行此操作quantile。
# some data
df <- data.frame(name=letters , am.spent = rnorm(26))
# divide df$am.spent
df$qnt<- cut(df$am.spent , breaks=quantile(df$am.spent),
labels=1:4, include.lowest=TRUE)
# check ranges
tapply(df$am.spent , df$qnt , range)
Run Code Online (Sandbox Code Playgroud)
首先得到quantile
分位数(df$am.spent)
# 0% 25% 50% 75% 100%
#-3.5888426 -0.6879445 -0.1461107 0.5835165 1.2030989
Run Code Online (Sandbox Code Playgroud)
然后使用cut在指定的切割点处划分 df$am.spent - 我们在分位数的值处进行切割。这是用breaks参数指定的