我的数据有一年中每天的温度测量和villageID分析所需的其他变量。我想创建一个新的变量来计算每个村庄所有365个温度测量的95 %阈值。
我的数据格式很宽,如下所示:
villageID temp1 temp2 temp3.... temp365 otherVars
1 1 70 86 98 79 x
2 2 73 89 99 86 x
3 3 71 82 96 75 x
4 4 78 79 94 81 x
5 5 90 91 89 85 x我想创建这个95%的阈值变量,它计算阈值(或温度测量),表明第95个百分位数开始的温度。我想在所有温度测量值2:366列中执行此操作,并保持所有其他变量相同。
如下所示:
villageID temp1 temp2 temp3 .....temp365 otherVars 95per
1 1 70 86 98 79 x 81
2 2 73 89 99 86 x 90
3 3 71 82 96 75 x 86
4 4 78 79 94 81 x 82
5 5 90 91 89 85 x 99发布于 2019-02-28 09:19:56
在基数R中,它就是(假设只有温度列中有字符串"temp“):
dfrm$temp95perc <-
apply( dfrm[ ,grep("temp", names(dfrm) )], #select just `tempNNN` columns
1, # row-wise calcs
quantile, probs=0.95) # give `quantile` a probshttps://stackoverflow.com/questions/54916618
复制相似问题