【发布时间】:2020-09-02 02:53:10
【问题描述】:
我正在研究波士顿住房数据集。我过滤了具有最低“medv”的观测值(城镇),并在转换到新的数据帧后保存了它们。我想在这个新数据框中插入列,其中包含基于这些过滤观察的特征值的原始数据的百分位数。 这是 R 代码:
# load the library containing the dataset
library(MASS)
# save the data with custom name
boston = Boston
# suburb with lowest medv
low.medv = data.frame(t(boston[boston$medv == min(boston$medv),]))
low.medv
# The values I want populated in new columns:
# Finding percentile rank for crim
ecdf(boston$crim)(38.3518)
# >>> 0.9881423
ecdf(boston$crim)(67.9208)
# >>> 0.9960474
# percentile rank for lstat
ecdf(boston$lstat)(30.59)
# >>> 0.9782609
ecdf(boston$lstat)(22.98)
# >>> 0.8992095
期望的输出:
有没有办法在 sapply 中使用 ecdf 函数?
【问题讨论】:
标签: r dataframe vectorization percentile