如何在按列拆分数据后获取方法?用R统计

Kat*_*ina 0 r

感谢有用的答案:

循环过矢量(R?中的内省)或其他一些方法

我想从每个向量中得到均值,而不必单独为每个向量键入它.我该怎么做呢?

我的代码:

probability_ratings = split(offline$Probability,
  paste(offline$Item, offline$Cond, sep=""))
head(probability_ratings)

$i01c1
[1] 7 7 7 3 7 3 7 6

$i01c2
[1] 4 4 5 3 4 5 5 3

$i01c3
[1] 7 4 6 4 7 5 5 5

$i01c4
[1] 1 2 2 1 2 2 2 4

$i01c5
[1] 5 5 6 5 7 3 4

$i01c6
[1] 6 6 7 6 7 5 6
Run Code Online (Sandbox Code Playgroud)

我需要每行的平均值,但我不确定这是什么数据类型以及是否/如何应用mean()函数.

谢谢,卡捷琳娜

Jos*_*ich 7

split返回一个列表,因此您只需要使用sapplylapply应用于mean每个列表元素. lapply将返回一个列表并sapply返回一个命名向量(在本例中).

probability_ratings <- list(
  i01c1=c(7,7,7,3,7,3,7,6),
  i01c2=c(4,4,5,3,4,5,5,3),
  i01c3=c(7,4,6,4,7,5,5,5),
  i01c4=c(1,2,2,1,2,2,2,4),
  i01c5=c(5,5,6,5,7,3,4),
  i01c6=c(6,6,7,6,7,5,6) )
sapply(probability_ratings, mean)
#    i01c1    i01c2    i01c3    i01c4    i01c5    i01c6 
# 5.875000 4.125000 5.375000 2.000000 5.000000 6.142857 
Run Code Online (Sandbox Code Playgroud)