Объедините элементы каждого уровня списка, используя предварительно заданную функцию в R - PullRequest
0 голосов
/ 16 января 2020

Я работаю в R и у меня есть список, скажем, с именем x. Этот список является многомерным, он содержит 100 различных выходов функции survival::survConcordance() (т. Е. x[[i]][j], где i - это количество различных survConcordance() выходов (i = от 1 до 100), а j - это число элементов в каждом выводе (j = от 1 до 5). Что я хочу сделать для каждого i, вычислить мою статистику согласования c, которая является функцией вывода survConcordance(), согласно этой формуле: (для каждый i) concordance <- (x[[i]][1]+(x[[i]][3] / 2))/(x[[i]][1]+x[[i]][2]+x[[i]][3]). Однако я изо всех сил пытаюсь выяснить, как это сделать. Хотя я практически уверен, что решение лежит где-то в семействе функций lapply(). Есть идеи?

1 Ответ

0 голосов
/ 16 января 2020

Трудно понять, работает ли это без воспроизводимого примера, но из вашего описания проблемы это должно сработать:

all_concordances <- sapply(x, function(vec) (vec[1] + (vec[3]/2))/ sum(vec[1:3]))

Это даст вам вектор из 100 соответствий.

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