Воссоздать таблицу с подсчетами из журналов в R и моделировать многомерный анализ - PullRequest
0 голосов
/ 03 января 2012

Я часто нахожу необходимость воссоздать таблицы из рукописей для дальнейшего анализа. Как это проще всего сделать?

Например:

enter image description here

Существует ли простой способ воссоздать фрейм данных с четырьмя столбцами (инфаркт головного мозга (Y / N), исход (плохой / хороший), повторное кровотечение (Y / N) и лечение (нимодипин, плацебо) и 276+) 278 строк, чтобы я мог еще проанализировать это?

Редактировать: как указывает Двин, категории не являются взаимоисключающими - отсюда необходимость моделирования наблюдаемых ответов

Ответы [ 2 ]

1 голос
/ 03 января 2012

Надеюсь, я действительно понял, что вы делаете: воссоздание необработанных данных, из которых была создана вышеуказанная таблица.

Таблица выше в R (я не имею дело с числами в скобках в таблице):

tab <- as.data.frame(matrix(c(61, 55, 25, 92, 91, 38), 3, 2))
row.names(tab) <- c('Cerebral infarct', 'Poor outcome', 'Rebleed')
names(tab) <- c('Nimodipine', 'placebo')

Что возвращается в:

> tab
                 Nimodipine placebo
Cerebral infarct         61      92
Poor outcome             55      91
Rebleed                  25      38

Не самое красивое решение, но за ним легко следовать: я взял каждую ячейку таблицы выше и вернул вектор логических значений необходимых переменных n раз, а затем преобразовал в кадр данных:

res <- lapply(names(tab), function(col)
    lapply(row.names(tab), function(row)
        rep(c(row=='Cerebral infarct', row=='Poor outcome', row=='Rebleed', col=='Nimodipine'), tab[row, col]) 
))
res <- rapply(res, function(x) x)
res <- as.data.frame(matrix(res, , 4, byrow=T))
names(res) <- c(row.names(tab), names(tab)[1])

Результат:

> str(res)
'data.frame':   362 obs. of  4 variables:
 $ Cerebral infarct: logi  TRUE TRUE TRUE TRUE TRUE TRUE ...
 $ Poor outcome    : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
 $ Rebleed         : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
 $ Nimodipine      : logi  TRUE TRUE TRUE TRUE TRUE TRUE ...

PS: фрейм данных содержит 362 случая, как вы можете видеть благодаря:

> sum(tab)
[1] 362

PS: благодаря комментарию @ DWin я только что понял, что не позаботился о возможных совпадениях.

0 голосов
/ 04 января 2012

Как указывает Двин, я забыл о совпадении категорий.

Вот мой взгляд на моделирование набора данных и запуск многомерного анализа на основе сообщенных чисел ... Следовательно, после корректировки на другие переменные, кажется, что только лечение связано с исходом.1005 *enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...