Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用colwise,R中ddply中的is.numeric进行分位数计算_R_Plyr_Summary_Quantile - Fatal编程技术网

使用colwise,R中ddply中的is.numeric进行分位数计算

使用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

我在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=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)))