我对使用R很陌生,我敢肯定有一个简单的解决方案可以解决这个问题,但是我正在用它拔头发。
我正在读取没有列名的固定宽度文件(fwf)。我将大多数列名作为一个单独的带分隔符的文件中的字段。我正在尝试将定界文件中的列名分配给fwf。
我已将保存到名为VNames
的字符向量的列名导入(例如chr [1:225]“ NameAAA”“ NameAAB” NameAAC“ ...)我想将这些名称应用为read.fwf
CombMatrix <- read.fwf(
file = fixedFileName,
width = c(32, 3, 5, 15, rep(1, 225)),
col.names = ("ID", "Gender", "Score", "Department", VNames),
na.string = "",
fill = TRUE,
strip.white = TRUE)
我一直遇到错误
错误:
意外的','in:“ width = c(32,3,5,15,rep(1,225)),col.names = (“ ID”,“
在此先感谢您的帮助!
答案 0 :(得分:0)
col.names参数需要一个名称向量才能起作用,您没有将它们放在向量中。
尝试一下:
CombMatrix <- read.fwf(
file = fixedFileName,
width=c(32,3,5,15,rep(1, 225)),
col.names = c("ID", "Gender", "Score", "Department", VNames),
na.string="",
fill=TRUE,
strip.white=TRUE)
答案 1 :(得分:0)
如果您灵活使用读取文件的工具,那么tidyverse是一个非常有用的库,可用于:
install.packages('tidyverse')
library('tidyverse')
read_fwf(file=fixedFileName, col_positions=fwf_widths(c(32,3,5,15,rep(1, 225)),
col_names = c("ID", "Gender", "Score", "Department", VNames)), col_types = NULL,
trim_ws = TRUE)
如果您需要任何文档的帮助,
?tidyverse
?read_fwf
?fwf_widths
etc