我如何按特定列进行平均
How do I average by specific columns
如何计算参与者对每个问题的平均响应时间(行是参与者,列是正确答案和响应时间)。我可以针对个别列执行此操作,但我不知道如何遍历所有列并将答案放入新的 table.
最后我想要一个 table 显示每个问题的平均响应时间和正确答案的百分比。
我可以找到每个问题的中位数以及每个问题的正确答案百分比,但我可以循环遍历数据集,以便整理这些统计数据的摘要 table。
new_Data <- data[ , grepl( "correct|time" , names( data ) ) ]
这就是你要看的
sapply( mtcars[ , grepl( "a|wt" , names( mtcars ) ) ], quantile, .5 )
或循环
A<- NULL
for( i in grep( "a|wt" , names( mtcars ) , value=T )){
A <- rbind( A ,
data.frame( vars=i , medain=quantile( mtcars[ , i ] , .5 )))
}
A
如果我对你的问题的理解正确,这个 tidyverse 解决方案可能会满足你的需要。它根据正则表达式选择列并计算所有列的平均值。如果没有,请附上您想要的输出示例。祝你好运!
library(tidyverse)
mtcars %>%
select(matches(".*p$|.*t$")) %>% #regex example: ends in "p" or ends in "t"
summarise_all(mean, na.rm = T)
disp hp drat wt
1 230.7219 146.6875 3.596563 3.21725
如何计算参与者对每个问题的平均响应时间(行是参与者,列是正确答案和响应时间)。我可以针对个别列执行此操作,但我不知道如何遍历所有列并将答案放入新的 table.
最后我想要一个 table 显示每个问题的平均响应时间和正确答案的百分比。
我可以找到每个问题的中位数以及每个问题的正确答案百分比,但我可以循环遍历数据集,以便整理这些统计数据的摘要 table。
new_Data <- data[ , grepl( "correct|time" , names( data ) ) ]
这就是你要看的
sapply( mtcars[ , grepl( "a|wt" , names( mtcars ) ) ], quantile, .5 )
或循环
A<- NULL
for( i in grep( "a|wt" , names( mtcars ) , value=T )){
A <- rbind( A ,
data.frame( vars=i , medain=quantile( mtcars[ , i ] , .5 )))
}
A
如果我对你的问题的理解正确,这个 tidyverse 解决方案可能会满足你的需要。它根据正则表达式选择列并计算所有列的平均值。如果没有,请附上您想要的输出示例。祝你好运!
library(tidyverse)
mtcars %>%
select(matches(".*p$|.*t$")) %>% #regex example: ends in "p" or ends in "t"
summarise_all(mean, na.rm = T)
disp hp drat wt
1 230.7219 146.6875 3.596563 3.21725