Я хотел бы извлечь первое и второе значения из списка списков. Я смог извлечь первое значение без проблем. Однако при попытке извлечь второе значение выдает ошибку, поскольку не все списки из столбца suggestion
имеют более одного значения. Как извлечь второе значение из столбца suggestion
в mydf_1
и сгенерировать NA для тех, у кого нет второго значения?
Ниже приведены коды, которые я написал, чтобы получить первое предложение, но когда я делаю
mydf_1$second_suggestion <- lapply(mydf_1$suggestion, `[[`, 2)
выдает эту ошибку:
Error in FUN(X[[i]], ...) : subscript out of bounds
Спасибо.
# create a data frame contains words
mydf <- data.frame("words"=c("banna", "pocorn and drnk", "trael", "rabbitt",
"emptey", "ebay", "templete", "interne", "bing",
"methog", "tullius"), stringsAsFactors=FALSE)
# add a custom word to the dictionary$
library(hunspell)
mydict_hunspell <- dictionary(lang="en_US", affix=NULL, add_words="bing",
cache=TRUE)
# use hunspell to identify misspelled words and create a row number column
# for later uses
mydf$words_checking <- hunspell(mydf$word, dict=mydict_hunspell)
mydf$row_num <- rownames(mydf)
# unlist the words_checking column and get suggestions for those misspelled
# words in another data frame
library(tidyr)
mydf_1 <- unnest(mydf, words_checking)
mydf_1$suggestion <- hunspell_suggest(mydf_1$words_checking)
# extract first suggestion from suggestion column
mydf_1$first_suggestion <- lapply(mydf_1$suggestion, `[[`, 1)