gpt4 book ai didi

r - 更改 read.table 用于确定 R 中列数的行数

转载 作者:行者123 更新时间:2023-12-04 20:11:42 25 4
gpt4 key购买 nike

?read.table表示:

The number of data columns is determined by looking at the first five lines of input
(or the whole file if it has less than five lines), or from the length of col.names
if it is specified and is longer. This could conceivably be wrong if fill or
blank.lines.skip are true, so specify col.names if necessary (as in the ‘Examples’).

我需要使用 fill paramenter 和我的一些 txt 文件可能在第 5 行之后具有最高列数的行。我不能使用标题,只是因为我没有它并且 col.names 将在导入后定义,所以我想将 R 使用的这 5 行更改为整个文件,(我不介意我可能得到的任何速度损失)。有什么建议吗?谢谢!

编辑:

刚刚在 read.table的代码中发现了这个
if (skip > 0L) 
readLines(file, skip)
nlines <- n0lines <- if (nrows < 0L)
5
else min(5L, (header + nrows))
lines <- .External(C_readtablehead, file, nlines, comment.char,
blank.lines.skip, quote, sep)
nlines <- length(lines)

我可以更改号码吗 5在上面代码的第 4 行?是否会对 read.table 产生任何副作用?行为?

编辑2:

我目前正在使用这种方法
maxCol <- max(sapply(readLines(filesPath), function(x) length(strsplit(x, ",")[[1]])))

拥有最大列数,并将结果放入虚拟 col.names喜欢 paste0("V", seq_len(maxCol)) .你觉得还值得再来一次 read.table有可能选择那个?

最佳答案

使用 count.fields ,例如,

read.table(filesPath, colClasses=rep(NA, max(count.fields(filesPath))), fill=TRUE)

关于r - 更改 read.table 用于确定 R 中列数的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16584691/

25 4 0