Объединение списков строк разной длины во фрейм данных

У меня есть текстовые данные, которые нуждаются в исправлении английских ошибок.

Мне нужен вывод таблицы, первый столбец - ошибки, а все предложения по исправлению во втором столбце.

Например:

sentence <- "This is a word but thhis isn't and this onne as well. I need hellp"

library(hunspell)
mistakesList <- hunspell(essay)[[1]]
suggestionsList <- hunspell_suggest(mistakesList)

я пытался

do.call(rbind, Map(data.frame, A=mistakesList, B=suggestionsList))

но он возвращается

            A      B
thhis   thhis   this
onne.1   onne   none
onne.2   onne    one
onne.3   onne  tonne
onne.4   onne  Donne
onne.5   onne   once
onne.6   onne   Anne
onne.7   onne Yvonne
hellp.1 hellp  hello
hellp.2 hellp   hell
hellp.3 hellp   help
hellp.4 hellp hell p

Мне нужен фрейм данных, который возвращает:

mistakes suggestions
thhis   this
onne    none one tonne Donne once Anne Yvonne
hellp   hello hell help hell p

person Yeshyyy    schedule 30.11.2018    source источник


Ответы (2)


Мы могли бы оставить mistakesList как есть и преобразовать suggestionsList в значения, разделенные запятыми, используя toString.

data.frame(mistakes = mistakesList, suggestions = sapply(suggestionsList, toString))


#  mistakes                               suggestions
#1    thhis                                      this
#2     onne none, one, tonne, Donne, once, Anne, neon
#3    hellp                 hello, hell, help, hell p
person Ronak Shah    schedule 30.11.2018
comment
Хороший ! Я предпочитаю твой ответ моему. Привет Ронак :) - person Yeshyyy; 30.11.2018

это сработало:

  X1 <- do.call(rbind, Map(data.frame, mistakes = mistakesList, suggestions = suggestionsList))
  X1 

library(plyr)

  X2 <- ddply(X1, .(mistakes),summarize,
              suggestions = paste(suggestions, collapse=", "))
  X2


mistakes                                 suggestions
1 thhis                                        this
2  onne none, one, tonne, Donne, once, Anne, Yvonne
3 hellp                   hello, hell, help, hell p
person Yeshyyy    schedule 30.11.2018