Фрейм данных: цикл по участникам/наблюдениям и запись столбца в текстовый файл

Я пытаюсь перебрать участников во фрейме данных, а затем записать другой столбец (текст) в отдельные файлы .txt, так что в конечном итоге я получаю один файл .txt для каждого участника, содержащий весь созданный ими текст (участник может иметь несколько строк наблюдений!)

Поиск в stackoverflow, это то, что у меня есть до сих пор:

dataframe <- data.frame(part_id = rep(seq(1:3), 2), text = c("test1", 
"test2", "test3", "test4", "test5", "test6"))
dataframe <- dataframe %>% arrange(part_id)

for(i in dataframe$part_id) {
    subset[i] <- dataframe[dataframe$part_id == i,]$text
    write.table(i, paste(i, ".txt", sep=""), 
                col.names = FALSE, row.names = FALSE,  sep = "\t")
}

Это работает постольку, поскольку цикл создает отдельные текстовые файлы (.txt), но вместо текста они содержат part_id.

Любая помощь приветствуется и высоко ценится!


person Primesty    schedule 08.06.2017    source источник
comment
О да, спасибо! Совершенно упустил это из виду.   -  person Primesty    schedule 08.06.2017


Ответы (1)


Поскольку в write.table(i, file_path) вы записываете i (то есть part_id) в файл, измените его на write.table(subset[i], file_path), и это сделает работу.

person Bubble Bubble Bubble Gut    schedule 08.06.2017
comment
@Primesty Я использовал write.table(dataframe[dataframe$part_id == i,]$text, paste(i, ".txt", sep=""), ...), и он отлично работает. - person Bubble Bubble Bubble Gut; 08.06.2017
comment
Ага, только что понял. Извини! - person Primesty; 08.06.2017
comment
@Maxwell Только что попробовал это с новым предложением, и оно отлично работает! Большое спасибо! - person Primesty; 08.06.2017
comment
@DavidArenburg также большое спасибо за решение! - person Primesty; 08.06.2017