我在R中有以下数据格式的df:
time
[1] 0.432
[2] 0.451
[3] 0.399
[4] 0.422
...
[25] 0.444现在,我想添加一个列到这个dataframe (让我们称之为timep),其中的元素是由以下公式计算的:
列
i中的列timep上的项应该等于:列time中小于或等于行i上的列time中的项的元素数,除以数据rows的行数。 伪码:df$timep[i] <- count(df$time <= df$time[i])/length(df)
只是,我不知道怎样才能正确地用R来表达这一点。
发布于 2016-04-24 10:42:30
R有一个内置的经验cdf ecdf。
假设您有一个dataframe df
df <- data.frame(time = c(0.432, 0.451, 0.399, 0.422, 0.444))您可以通过以下方法创建一个经验性的民防框架:
P <- ecdf(df$time)现在,如果将一个值传递给P,它将返回该值的累积概率:
df$cdf <- P(df$time)退出:
time cdf
1 0.432 0.6
2 0.451 1.0
3 0.399 0.2
4 0.422 0.4
5 0.444 0.8https://stackoverflow.com/questions/36821716
复制相似问题