我正在导入和合并.tcx文件(gps和XML格式的健身数据)以供进一步分析:
files <- dir(pattern = "\\.tcx")
ldf <- lapply(files,
function(x) plyr::ldply(
getNodeSet(xmlParse(x), "//ns:Trackpoint", "ns"),
as.data.frame(xmlToList)))
mydf <- plyr::rbind.fill(mydf)
setNames(mydf, c('time', 'lat', 'long', 'alt', 'heartrate'))这工作得很好,但我需要添加一个带有文件标识的列。这可以是计数器,但我更喜欢在添加列中添加文件名。如何添加此列?
发布于 2013-04-24 16:09:14
如果没有可重复的例子,很难给出解决方案,而且也不确定所需的输出。一种想法是改变这一行:
as.data.frame(xmlToList)类似这样的东西:
function(y){data.frame(ID=x,as.data.frame(xmlToList(y)))})这会将和ID添加到每个文件的名称为data.frame的列。
发布于 2013-04-24 16:02:32
假设ID是包含ID (这里是您的文件名)的向量,您可以这样做:
mydf[,'ID'] <- ID发布于 2013-04-24 16:01:06
这不是一个完整的答案,而是一个起点。
对于dataframe,您可以通过以下方式添加id列:
data <- data.frame(x=rnorm(100), y=rnorm(100))
data$ID <- "id"并且数据帧的一列将被id填充。
因此,我会尝试在lapply的函数(X)中添加这样一列。
https://stackoverflow.com/questions/16186453
复制相似问题