colsum из теста Чиска - PullRequest
       6

colsum из теста Чиска

0 голосов
/ 28 июля 2011

Результаты теста chisq отображаются следующим образом: мне нужна только сумма статистики (chisq), colsum не работает. Как я получу только статистическую сумму?

    statistic parameter p.value      
1   120       9         1.336165e-21
2   115.2397  21        5.292644e-15
3   114.9731  18        3.703771e-16
4   85.85785  21        8.283122e-10
5   103.7818  30        4.650999e-10
6   85.44727  24        8.062478e-09
7   42.03636  18        0.001093033 
8   42.31688  24        0.01188941  
9   72.22857  24        1.000100e-06
10  54.47273  24        0.0003685193

1 Ответ

2 голосов
/ 28 июля 2011

Вы хотите что-то вроде:

sum(object_name[ , 1])  # should work for matrix or dataframe

Если это датафрейм, вы могли бы написать:

 sum(object_name$statistic)

Иногда объект имеет матрицу, скрытую "одним слоем ниже" или даже "двумя слоями ниже", где он должен быть. Возможно, можно использовать этот результат dput ... не говоря уже о том, что он похож на ваш, но у него есть класс списка, и он напечатает что-то вроде вашего:

    object_name <-list(list(structure(c(1, 120, 9, 1.336165e-21, 2, 115.2397, 21, 
5.292644e-15, 3, 114.9731, 18, 3.703771e-16, 4, 85.85785, 21, 
8.283122e-10, 5, 103.7818, 30, 4.650999e-10, 6, 85.44727, 24, 
8.062478e-09, 7, 42.03636, 18, 0.001093033, 8, 42.31688, 24, 
0.01188941, 9, 72.22857, 24, 1.0001e-06, 10, 54.47273, 24, 0.0003685193
), .Dim = c(10L, 4L), .Dimnames = list(NULL, c("rown", "statistic", 
"parameter", "p.value")))))

> str(object_name)
List of 1
 $ :List of 1
  ..$ : num [1:10, 1:4] 1.00 1.20e+02 9.00 1.34e-21 2.00 ...
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : NULL
  .. .. ..$ : chr [1:4] "rown" "statistic" "parameter" "p.value"

Вам нужно дважды использовать [[1]], чтобы получить «достаточно глубокий» доступ к столбцу «статистики»:

object_name[[1]][[1]][ , "statistic"] 
sum( object_name[[ 1 ]][[1]][, "statistic"] )
#[1] 267.6397 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...