r - Zoo merge() 和合并的列名

标签 r zoo

我对 R 比较陌生。我正在将多个 csv 文件中包含的数据合并到单个动物园对象中。

这是我的for循环中的代码片段:

temp <- read.csv(filename, stringsAsFactors=F)
temp_dates <- as.Date(temp[,2])
temp <- zoo(temp[,17], temp_dates)
dataset <- temp[seq_specified_dates]

# merge data into output
if (length(output) == 0)
    output <- dataset
else
    output <- merge(output, dataset, all=FALSE)

当我在输出动物园对象上运行 head() 时,我注意到奇怪的命名列名称,例如:“dataset.output.output.output”等。如何为合并的列分配更有意义的名称。 ?

此外,如何引用动物园对象中的特定列?例如,如果输出是数据帧,我可以将“Patient_A”列引用为输出$Patient_A。如何引用合并的动物园对象中的特定列?

最佳答案

我认为无论动物园类(class)的日期如何,这都会起作用,如果您提供一个示例,我也许能够修复细节,但总而言之,这应该是一个很好的起点。

#1- Put your multiple csv files in one folder
setwd(your path)
listnames = list.files(pattern=".csv")

#2-use package plyr
library(plyr)

    pp1 = ldply(listnames,read.csv,header=T) #put all the files in on data.frame
    names(pp1)=c('name1','name2','name3',...)
    pp1$date =  zoo(pp1$date)


# Reshape data frame so it gets organized by date
pp2=reshape(pp1,timevar='name1',idvar='date',direction='wide')

关于r - Zoo merge() 和合并的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9092905/

相关文章:

r - R 中的 as.yearqtr 从 12 月而不是 1 月开始

R:子集一个动物园对象?

r - 根据另一个表过滤一个表

r - 从R中的列表中提取非null元素

r - 在 ddply 中使用 ifelse 和转换

r - 错误 : could not find function "glimpse"

r - 使用 ARIMA 模型估算缺失值

r - 对 r xts 中的时间序列数据进行平均

按组滚动方式

Rollapply 和 xts。我可以输出窗口中最大值的时间吗?