У меня есть следующий фрейм данных:
structure(list(PatientName = c("Tom Hardy", "Elma Fudd", "Bingo Man"
), HospitalNumber = c("H55435", "Y3425345", "Z343424"), Text = c("All bad. Not good",
"Serious issues", "from a land far away"
)), class = "data.frame", row.names = c(NA, -3L))
Этот фрейм данных фактически взят из исходного набора данных, в котором все столбцы были объединены с заголовком столбца в качестве разделителя следующим образом:
c("PatientName Tom Hardy HospitalNumber H55435 Text All bad. Not good",
"PatientName Elma Fudd HospitalNumber Y3425345 Text Serious issues",
"PatientName Bingo Man HospitalNumber Z343424 Text from a land far away"
)
Как мне восстановить с разделителем в качестве имени столбца, чтобы я мог получить в итоге:
structure(list(X1_X2_X3 = c("PatientName Tom Hardy_HospitalNumber H55435_Text All bad. Not good",
"PatientName Elma Fudd_HospitalNumber Y3425345_Text Serious issues",
"PatientName Bingo Man_HospitalNumber Z343424_Text from a land far away"
)), class = "data.frame", row.names = c("X1", "X2", "X3"))
В данный момент я делаю следующее, но это выглядит немного грязно.Есть ли более аккуратный способ?
Interim<-data.frame(t(data.frame(apply(myDeets, 1, function(x) paste(names(x),x)))),stringsAsFactors = FALSE)
mynesdf<-tidyr::unite_(Interim, paste(colnames(Interim), collapse="_"), colnames(Interim))