Ниже приведен код, который я использую для чтения XML-файла и создания фрейма данных из атрибутов в XML-файле. Тем не менее, я небольшой вопрос с кодом. Here - образец данных.Имя столбца R в объекте заменяется на имя объекта
Когда я конвертировать первый список с именем attribact
в dataframe имени k1
, столбец с именем x
в списке изменяется на k1
. То же самое происходит с последней строкой кода data1 <- cbind(k1,k2)
. Здесь имя столбца k1
(с предыдущего шага) изменено на data1
Другими словами, одно из имен столбцов в списке заменяется именем объекта, которому назначается список.
plans <- xmlParse(file1)
idNodes <- getNodeSet(plans, "//person[@id]")
ids <- lapply(idNodes, function(x) xmlAttrs(x)['id'])
attribact <- vector("list", length(ids)*14)
k <- 1
for (i in 1:length(ids))
{
act <- xpathApply(idNodes[[i]], path = paste("//person[@id=", as.numeric(ids[[i]]),"]//plan[@selected='yes']//act|leg", sep=""), xmlAttrs)
for (j in 1:length(act))
{
attribact[[k]] <- c(act[[j]],ids[[i]])
k <- k+1
}
}
attribact <- attribact[attribact!='NULL']
k1 <- t(as.data.frame(attribact))
data1 <- k1
Вы уверены, что код и цифра необходимы? Не могли бы вы предоставить нам три строки данных и минимальный код для воспроизведения (одной) проблемы (одновременно)? –
@ RomanLuštrik Есть две причины. Во-первых, я не знал, повлияли ли на более поздние шаги в коде некоторые из предыдущих шагов. Во-вторых, я хочу ускорить мой код, и поэтому мысль, представляющая полный код, может помочь мне получить некоторые рекомендации по производительности. – Gandalf
Я укоротил сообщение. Но, данные много строк длинны (даже для одного случая). Итак, я просто разместил ссылку. – Gandalf