R 使用cbind合并xts对象时colnames的行为
如果我使用R 使用cbind合并xts对象时colnames的行为,r,xts,cbind,R,Xts,Cbind,如果我使用cbind合并两个矩阵或data.frame具有相同colnames的colnames在新的矩阵或data.frame中保持不变: df <- data.frame(test = c(1,2)) df.merge <- cbind(df,df) df.merge test test 1 1 1 2 2 2 有没有一种方法可以通过合并xts对象来防止重命名列?有什么有用的理由可以让您使用这种行为吗?我有不同列数的时间序列文件。这些列是根据一些参数命
cbind
合并两个矩阵
或data.frame
具有相同colnames
的colnames
在新的矩阵
或data.frame
中保持不变:
df <- data.frame(test = c(1,2))
df.merge <- cbind(df,df)
df.merge
test test
1 1 1
2 2 2
有没有一种方法可以通过合并
xts
对象来防止重命名列?有什么有用的理由可以让您使用这种行为吗?我有不同列数的时间序列文件。这些列是根据一些参数命名的。在大多数文件中,参数是相同的。如果新列具有相同的名称,那么就更容易了。嗯,也许可以执行类似于df.xts.merge的操作,但是如果它们相等,则无法基于名称提取第二列。如果您这样做:df.merge[,它(名称(df.merge)=“test”)]
返回值也将是test和test.1。仅使用列名(df$test
或df[,“test”]
不会同时给出两列,而只给出第一列。但是cbind.xts
使用merge.xts
和merge.xts
修复了重复的列名。您始终可以使用名称(df.xts.merge)由于我需要在日期上加入merge.xts
,因此我现在将所有参数保存到一个向量中,并在合并后命名我的xts
对象。基本上@phiver现在建议的是:名称(df.xts.merge)有什么有用的理由让你想要这种行为吗?我有不同数量的列的时间序列文件。这些列是根据一些参数命名的。在大多数文件中,参数都是相同的。如果新列具有相同的名称,那就更容易了。嗯,也许可以执行类似于df.xts.merge的操作,但是如果名称相等,则无法根据名称提取第二列。如果执行以下操作:df.merge[,其中(名称(df.merge)=“test”)]
返回值也将是test和test。1.只需使用列名(df$test
或df[,“test”]
不会同时给出两列,只给出第一列。但是cbind.xts
使用merge.xts
和merge.xts
修复重复的列名。您可以始终执行名称(df.xts.merge)由于我需要在日期上加入merge.xts
,因此我现在将所有参数保存到一个向量中,并在合并后命名我的xts
对象。基本上@phiver现在建议的是:名称(df.xts.merge)
df.xts <- xts(df, order.by = as.POSIXct(c("2019-02-18 13:00","2019-02-18 14:00"), tz = "UTC"))
df.xts.merge <- cbind(df.xts, df.xts)
df.xts.merge
test test.1
2019-02-18 13:00:00 1 1
2019-02-18 14:00:00 2 2