У меня есть список списков в R; каждый список имеет результаты команды Grep, указывающей позицию, в которой была найдена поисковая строка. КомандаR: суммировать элементы каждого списка в списке и возвращать результат в кадре данных
> matches<-lapply(ListOfFiles, function(x)
+ grep("SearchString",readLines(x),ignore.case = T))
производит
//I copy the results that the function actually yields for the sake of the example
> matches<-list(c(11L, 13L), c(9L, 12L, 14L, 15L, 16L, 19L, 20L, 22L, 25L
+), c(5L, 8L, 11L), c(10L, 11L, 13L, 14L, 16L), c(5L, 7L, 9L),
+ integer(0))
> matches
[[1]]
[1] 11 13
[[2]]
[1] 9 12 14 15 16 19 20 22 25
[[3]]
[1] 5 8 11
[[4]]
[1] 10 11 13 14 16
[[5]]
[1] 5 7 9
[[6]]
integer(0)
мне нужно преобразовать это простой кадр данных, 6 строк и 1 столбца, причем каждая «клетка», имеющий сумму каждого из 6 списков matches
,
Если возможно, попробуйте объяснить синтаксис, который я должен использовать; Я новичок в R, и иногда мне трудно найти примеры, если сразу несколько вещей вложены.
Упрощение: 'sapply (matches, sum)' – josliber
Поскольку у вас есть только аргумент 'x', вы можете просто сделать:' data.frame (sapply (matches, sum)) ' –
@josilber jinx. –