如何解决“ [..data.frame`(temp_df,,c(“ Date”,“ Close”,“ Volume”))中的错误:未定义的列已选择”?

时间:2019-09-20 13:46:31

标签: r

我有多家公司约一年的股价数据。我要制作这1个文件。

我想通过仅导入每个文件的日期,收盘价和交易量来创建一个文件。 第一家公司没有问题,但是当它提出要求时却出错了。

> temp_df <- read.csv(paste(dir, file_names[1], sep = "/"), header = TRUE)

> head(temp_df)

Date High  Low Open Close Volume Adj.Close

1 2017-07-03 7530 7300 7530  7500 143956  7407.061

2 2017-07-04 7500 7270 7410  7450 117718  7357.680

3 2017-07-05 7460 7280 7460  7350 113643  7258.919

4 2017-07-06 7400 7300 7310  7350  80115  7258.919

5 2017-07-07 7490 7310 7360  7430  75793  7337.928

6 2017-07-10 7530 7250 7450  7500 138471  7407.061

用于保存合并数据的kospi_data

kospi_data <- temp_df[,c('Date', 'Close', 'Volume')]

colnames(kospi_data) <- c("Date", "Close_1", "Volume_1")

head(kospi_data)

Date Close_1 Volume_1

1 2017-07-03    7500   143956

2 2017-07-04    7450   117718

3 2017-07-05    7350   113643

4 2017-07-06    7350    80115

5 2017-07-07    7430    75793

6 2017-07-10    7500   138471

> # merge

> ## key column: Date, (Close_i)& (Volume_i)

> for (i in 2:length(file_names)) {

+   temp_df <- read.csv(paste(dir, file_names[i], sep = "/"), header = TRUE)

+   temp_df2 <- temp_df[,c("Date", "Close", "Volume")]

+   colnames(temp_df2) <- c("Date", paste0("Close_", i), paste0("Volume_", i))

+   kospi_data <- merge(kospi_data, temp_df2[,c('Date', paste0("Close_", i), 
paste0("Volume_", i))], by = 'Date', all = TRUE)

+ }

哪个会产生错误

    Error in `[.data.frame`(temp_df, , c("Date", "Close", "Volume")) : 

      undefined columns selected

0 个答案:

没有答案