Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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
如何在R中建立中位数表?_R_For Loop_Matrix - Fatal编程技术网

如何在R中建立中位数表?

如何在R中建立中位数表?,r,for-loop,matrix,R,For Loop,Matrix,我有多个问题的数据,分为三组。我想在这样的矩阵中总结一下中间值 numQuestions也许您可以尝试下面的代码 sapply( 集合名(列表(结果1、结果2、结果3),c(“组1”、“组2”、“组3”), 函数(v)miscTools::colMedians(v[numQuestions],na.rm=TRUE) ) 也许你可以试试下面的代码 sapply( 集合名(列表(结果1、结果2、结果3),c(“组1”、“组2”、“组3”), 函数(v)miscTools::colMedians(v[

我有多个问题的数据,分为三组。我想在这样的矩阵中总结一下中间值


numQuestions也许您可以尝试下面的代码

sapply(
集合名(列表(结果1、结果2、结果3),c(“组1”、“组2”、“组3”),
函数(v)miscTools::colMedians(v[numQuestions],na.rm=TRUE)
)

也许你可以试试下面的代码

sapply(
集合名(列表(结果1、结果2、结果3),c(“组1”、“组2”、“组3”),
函数(v)miscTools::colMedians(v[numQuestions],na.rm=TRUE)
)

我不是R方面的专家,但我认为使用字符串调用对象并不理想。更好的方法是将3个
results
对象放在一个对象中-可能通过执行
results=list(results1、results2、results3)
-然后将循环更改为:

for(i in rownames(medians)){
    for(j in c(1:3)){
        medians[i,j] <- median(results[[j]][[i]])}}
用于(行名中的i(中间值)){
对于(c中的j(1:3)){

medians[i,j]我不是R方面的专家,但我认为使用字符串来调用对象并不理想。更好的方法是将3个
结果
对象放在一起-可能通过执行
结果=列表(results1,results2,results3)
,然后将循环更改为:

for(i in rownames(medians)){
    for(j in c(1:3)){
        medians[i,j] <- median(results[[j]][[i]])}}
用于(行名中的i(中间值)){
对于(c中的j(1:3)){

中位数[i,j]研究
help($)
。研究
help($)
。我认为
sapply()
是我需要的一部分,但是我从这个矩阵中只得到了
NA
。我发现了我的错误:数据框中有一些
NA
字段。通过向函数添加
NA.rm
参数,我得到了我想要的。我已经在你的答案中编辑了它。谢谢!@skranz是的,如果你有
NA
值,你应该这样做有选项
na.rm=TRUE
在那里。我已经接受了你的编辑。我想
sapply()
是我需要的一部分,但是我从这个矩阵中只得到了
NA
。我发现了我的错误:数据框中有一些
NA
字段。通过向函数添加
NA.rm
参数,我得到了我想要的。我已经在你的答案中编辑了它。谢谢!@skranz是的,如果你有
NA
值,你应该这样做在那里有选项
na.rm=TRUE
。我已接受您的编辑。