У меня есть Serveral предложение с мнением тегами, и я хочу dataframe, чтобы показать информациюСделать dataframe, которая содержит тег-информацию каждое предложение в R
test = c("I very/AD very/AD like/POS the voice/FE","I really really/AD hate/NEG you/FE","I love/POS and adore/POS him although he is rude/NEG")
> test
[1] "I very/AD very/AD like/POS the voice/FE"
[2] "I really really/AD hate/NEG you/FE"
[3] "I love/POS and adore/POS him although he is rude/NEG"
> test = strsplit(test, ' ')
[[1]]
[1] "I" "very/AD" "very/AD" "like/POS" "the" "voice/FE"
[[2]]
[1] "I" "really" "really/AD" "hate/NEG" "you/FE"
[[3]]
[1] "I" "love/POS" "and" "adore/POS" "him" "although" "he" "is" "rude/NEG"
С учетом указанными выше данными, я хочу make dataframe содержит информацию о тегах для КАЖДОГО предложения, подобного этому.
POS NEG AD FE
1 1 0 2 voice
2 0 1 1 you
3 2 1 0
Теперь все, что я могу сделать просто сделать dataframe с общей суммой вверх информации, как это.
POS NEG AD FE
1 3 2 3 voice
2 3 2 3 you
я могу сделать это с помощью этих кодов ниже (я написал их только в случае, если вы могли бы использовать их, чтобы получить подсказку)
POS = grepl(pattern = "POS", unlist(test))
POS = length(POS[POS == T])
POS
NEG = grepl(pattern = "NEG", unlist(test))
NEG = length(NEG[NEG == T])
NEG
AD = grepl(pattern = "AD", unlist(test))
AD = length(AD[AD == T])
AD
FE = data.frame(word=unlist(test))
FE$match = grepl(pattern = "FE", unlist(test))
FE = FE[FE$match == T,]
FE = gsub('\\/FE','', FE$word)
data.frame(POS,NEG,AD,FE)
Опять же, что я стремлюсь, чтобы сделать dataframe, который содержит важную тег-информацию каждое предложение. (коды ответа могут работать независимо от количества предложений, так как тестовые данные могут иметь несколько предложений)
POS NEG AD FE
1 1 0 2 voice
2 0 1 1 you
3 2 1 0
...
Что делать со списками в переменной FE? – Rcoding
@Rcoding исправил эту проблему – akrun