R 读取缺少某些数据的txt文件

R 读取缺少某些数据的txt文件,r,rdata,R,Rdata,我确实意识到类似的问题已经被提出,但考虑到所提供的答案都不能解决我的问题,挫折感开始出现。问题如下:我有27个相同形状的txt格式的时间序列数据(日期、打开、高、低、最后),我想将它们导入R as.txt文件中,以便第一行读取的是包含所有5个数据的数据。下面给出的示例显示,虽然文本文件中的数据从1984-01-03开始,但我希望该文件从1990-11-05开始读取(因为早期日期缺少Open),将日期的第一列保存为行名,并将其他4列保存为数字,每个列都有明显的名称 Open

我确实意识到类似的问题已经被提出,但考虑到所提供的答案都不能解决我的问题,挫折感开始出现。问题如下:我有27个相同形状的txt格式的时间序列数据(日期、打开、高、低、最后),我想将它们导入R as.txt文件中,以便第一行读取的是包含所有5个数据的数据。下面给出的示例显示,虽然文本文件中的数据从1984-01-03开始,但我希望该文件从1990-11-05开始读取(因为早期日期缺少Open),将日期的第一列保存为行名,并将其他4列保存为数字,每个列都有明显的名称

            Open    High    Low     Last
1984-01-03         1001.40  997.50  997.50
1984-01-04         999.50   993.30  998.60

1990-11-05  2038.00 2050.20 2038.00 2050.10
1990-11-06  2055.00 2071.00 2052.20 2069.80
鉴于这是一个常见问题,我尝试了以下代码:

    ftse <- read.table("FTSE.txt", sep="", quote="", dec=".", as.is=TRUE,   
               blank.lines.skip=TRUE, strip.white=TRUE,na.strings=c("","NA"),
               row.names=1, col.names=c("Open","High","Low","Last"))

第1731行对应于日期1984-01-03。我诚恳地请求帮助,因为我不能再在这些问题上浪费时间,所以请提供建议,我如何解决这些问题。提前谢谢。

我不知道一般的解决方案可能是什么,但readLines和read.fwf的组合可能适用于您的情况:

ftse.lines <- readLines("FTSE.txt")
ftse.lines <- ftse.lines[ftse.lines != ""] # skip empty lines
ftse <- read.fwf(textConnection(ftse.lines), widths=c(11,8,8,8,8), skip=1, row.names=1)
names(ftse) <- c("Open", "Hi", "Lo", "Last")
ftse.lines
ftse.lines <- readLines("FTSE.txt")
ftse.lines <- ftse.lines[ftse.lines != ""] # skip empty lines
ftse <- read.fwf(textConnection(ftse.lines), widths=c(11,8,8,8,8), skip=1, row.names=1)
names(ftse) <- c("Open", "Hi", "Lo", "Last")
 ftse <- read.fwf("FTSE.txt", widths=c(11,8,8,8,8), col.names=c("blah", "Open", "Hi", "Lo", "Last"), skip=1)