У меня есть набор данных с 2 столбцами и несколькими строками. идентификатор первого столбца, второй столбец - текст, который ему принадлежит.
Я хочу добавить больше столбцов, которые суммируют, сколько раз определенная строка появляется в тексте из строки. строка будет "\n Положительная\n", "\n Нейтральная\n", "\n Отрицательная\n"`
Пример набора данных:
Id, Content
2356, I like cheese.\n Positive\nI don't want to be here.\n Negative\n
3456, I am alone.\n Neutral\n
В конце должно получиться так
Id, Content,Positiv, Neutral, Negativ
2356, I like cheese.\n Positive\nI don't want to be here.\n Negative\n,1 ,0 ,1
3456, I am alone.\n Neutral\n, 0, 1, 0
Прямо сейчас я попробовал это так, но он не дает правильных ответов:
getCount1 <- function(data, keyword)
{
Positive <- str_count(Dataset$CONTENT, keyword)
return(data.frame(data,Positive))
}
Stufe1 <-getCount1(Dataset,'\n Positive\n')
################################################################
getCount2 <- function(data, keyword)
{
Neutral <- str_count(Stufe1$CONTENT, keyword)
return(data.frame(data,Neutral))
}
Stufe2 <-getCount2(Stufe1,'\n Neutral\n')
#####################################################
getCount3 <- function(data, keyword)
{
Negative <- str_count(Stufe2$CONTENT, keyword)
return(data.frame(data,Negative))
}
Stufe3 <-getCount3(Stufe2,'\n Negative\n')
gregexpr
иregmatches
в качестве отправной точки. Или есть несколько полезных пакетов, таких как stringr или stringi. - person A5C1D2H2I1M1N2O1R2T1   schedule 03.07.2014