2010-10-13 2 views
2

Я пытаюсь автоматизировать некоторые системы, работающие здесь специально для создания отчетов на основе данных опроса.R Программирование: автоматизация слияния строк символов

Допустим, у меня есть 3 комментария для 1 вопроса.

current_comments <- c("too slow", "not fast enough", "bad speed") 

В основном то, что я хочу сделать, это объединить комментарии в одну строку, разделенных символом «-» слишком похожи на эту

>current_comments 
[1] "too slow - not fast enough - bad speed" 

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

Я знаю, что могу сделать это, используя функцию вставки.

> paste(current_comments[1], " - ", current_comments[2], " - ", current_comments[3]) 
[1] "too slow - not fast enough - bad speed" 

Но с точки зрения автоматизации, как бы я сделал это с различным количеством комментариев.

Извините за вопрос новичков, но это заставило меня броситься в тупик в течение большей части дня.

редактировать: по запросу Heres dput(head(clean_data, 10)) с именами и вопросы изменились

ture(list(res_qnumber = 1:10, res_ID = c(44024431L, 44024431L, 
44024431L, 44024431L, 44024431L, 44024431L, 44024431L, 44024431L, 
44024431L, 44024431L), res_name = c("name1", "name1", 
"name1", "name1", "name1", "name1", "name1", 
"name1", "name1", "name1"), res_pos = c("NA", 
"NA", "NA", "NA", "NA", "NA", "NA", "NA", "NA", "NA"), res_ceo = c(FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE 
), res_qtype = c("standard", "standard", "standard", "standard", 
"standard", "standard", "standard", "standard", "standard", "standard" 
), res_qtext = c("Question1", 
"Question2", 
"Question3", 
"Question4", 
"Question5", 
"Question6", 
"Question7", 
"Question8", 
"Question9" 
), res_response = c("2", "5", "5", "5", "5", "5", "5", "5", "5", 
"5"), res_comment = c("too slow", NA_character_, NA_character_, 
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, 
NA_character_, NA_character_), res_scale = c("scale1", "scale2", 
"scale3", "scale4", "scale5", "scale6", "scale7", "scale8", "scale9", 
"scale10")), .Names = c("res_qnumber", "res_ID", "res_name", 
"res_pos", "res_ceo", "res_qtype", "res_qtext", "res_response", 
"res_comment", "res_scale"), row.names = c(NA, 10L), class = "data.frame") 
+0

Примеры данных из dput (головка (your_data.frame, 10)) было бы полезно. –

+0

Добавлено, но Kohske ответил на мой вопрос –

ответ

7
paste(current_comments, collapse=" - ") 
+0

Cheers, Мне действительно нужно отказаться от этого материала программирования: P –

Смежные вопросы