R data.table добавить один столбец в другой, скрытый список в CSV - PullRequest
0 голосов
/ 01 октября 2019

Впервые на R, у меня есть CSV-файл, содержащий два столбца строки. Я прочитал их, используя

keyword_notes<-fread(file_path, skip=1, header=FALSE)

И получил что-то вроде:

      V1              V2
"I love apple"     "I love peach"

Я хочу добавить второй столбец к первому, сделав весь df следующим образом:

    V1
"I love apple"
"I love peach"

Тогда у меня есть некоторый код для подсчета частоты слов в этих строках. В результате получается такой список:

 $`1`
    apple peach  love
    154    124     93

Как сохранить эти результаты в файле csv с двумястолбцы, подобные этому:

apple  154
peach  124
love    93

Опять же, мой вопрос: как добавить 2-й столбец к 1-му и как сохранить результаты в CSV. Это, кажется, очень простые операции, но я новичок в R и искал в Интернете, но не нашел похожих вопросов.

keyword_notes<-fread(file_path, skip=1, header=FALSE)
out_df <- data.frame(V1 = unlist(keyword_notes, use.names = FALSE))
mydata <- Corpus(VectorSource(keyword_notes))
mydata <- tm_map(mydata, content_transformer(tolower))
mydata <- tm_map(mydata, removeWords, stopwords("english"))
mydata <- tm_map(mydata, removePunctuation)
dtm <- TermDocumentMatrix(mydata)
fre_list <- findMostFreqTerms(dtm, n = 10L)

структура (список (V1 = c ("В Avantor есть опечатка)Файл TransAmerica. Номер агента в конфигурации: \ "\" RT111215 \ "\", и он должен быть \ "\" TR111215 \ "\". Мне нужен кто-то для обновления конфигурации. ",), V2 = c («Ретро-правила», «Рекомендуется создать задачу для команды Криса Кайзера.»,)), Class = c («data.table», «data.frame»), row.names = c (NA, -6L)

1 Ответ

1 голос
/ 01 октября 2019

Это похоже на два отдельных вопроса. Для первого вы можете unlist фрейм данных

out_df <- data.frame(V1 = unlist(keyword_notes, use.names = FALSE), stringsAsFactors = FALSE)
out_df

#            V1
#1 I love apple
#2 I love peach

, где df равно

df <- structure(list(V1 = structure(1L, .Label = "I love apple", class = "factor"),
V2 = structure(1L, .Label = "I love peach", class = "factor")), 
class = c("data.table", "data.frame"), row.names = c(NA, -1L), 
.internal.selfref = <pointer: 0x102012ee0>)

для второго, используйте stack

out_df <- stack(lst[[1]])
out_df

#  values   ind
#1    154 apple
#2    124 peach
#3     93  love

где lst равно

lst <- list(`1` = c(apple = 154,  peach = 124,  love = 93))

Вы можете записать их в CSV, используя write.csv

write.csv(out_df, "path/of/the/file.csv")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...