使用colwise,R中ddply中的is.numeric进行分位数计算
我在R中工作,试图在ddply中使用colwise(function,is.numeric)命令,但我无法让它对特定的分位数工作。我想要第25个分位数,但是当你在多个数字列上做这个函数时,我不能让它工作 以下是我正在使用的示例:使用colwise,R中ddply中的is.numeric进行分位数计算,r,plyr,summary,quantile,R,Plyr,Summary,Quantile,我在R中工作,试图在ddply中使用colwise(function,is.numeric)命令,但我无法让它对特定的分位数工作。我想要第25个分位数,但是当你在多个数字列上做这个函数时,我不能让它工作 以下是我正在使用的示例: d <- data.frame(groups=c(rep("A",4), rep("B",4), rep("C",4)), otu1 = runif(12, min=0, max=100), otu2 = runif(12, min
d <- data.frame(groups=c(rep("A",4), rep("B",4), rep("C",4)),
otu1 = runif(12, min=0, max=100),
otu2 = runif(12, min=0, max=100),
otu3 = runif(12, min=0, max=100)
)
d我们可以尝试使用数据表
library(data.table)
setDT(d)[,lapply(.SD, quantile, probs=0.75) , groups]
或者使用dplyr
library(dplyr)
d %>%
group_by(groups) %>%
summarise_each(funs(quantile(., probs=0.75)))
是否需要将用作.numeric
?。Is numeric只返回真/假值。Is.numeric以colwise方式工作——这样,它跨所有数值列执行该函数。在我较大的数据集中,我通常会使用is.numeric.Got跳过其他分类列(例如“group”列)。我不明白colwise
的第二个参数是限制其效果的逻辑向量。
library(data.table)
setDT(d)[,lapply(.SD, quantile, probs=0.75) , groups]
library(dplyr)
d %>%
group_by(groups) %>%
summarise_each(funs(quantile(., probs=0.75)))