Предполагая, что все ваши столбцы имеют тип character
, что в первых 5 столбцах каждой строки всегда есть хотя бы одно значение, и при условии, что вы назвали свой data.frame
"df
", следующее должносделать трюк:
df$output <- rep(NA, nrow(df))
for(i in 1:nrow(df)){
if(!all(df[i, 6:10] == "")){
df$output[i] <- paste0(paste0(df[i, 1:5], collapse = ""), "-",
paste0(df[i, 6:10], collapse = ""))
} else {
df$output[i] <- paste0(df[i, 1:5], collapse = "")
}
}