R 在导入时忽略行名"0"占位符

  • 本文关键字:占位符 导入 r
  • 更新时间 :
  • 英文 :


我在用read.table导入时遇到了一点问题(我也尝试过read.fwf)。问题是第一列(用于行名)使用行"01-09"中的"0"作为占位符。R忽略了第一个"0",从而消除了占位符,并在之后丢弃了我的所有子集。所以当我到达高于"9"的任何一行时,它又变成了"1"。因此,从本质上讲,R将行"02"one_answers"20"读取为"2",因为第一个"0"已经不见了……我相信这是一个简单的解决方案,我似乎无法追踪它。谢谢,nm

help(read.table)

read.table(file, colClasses = c("character",...), ...)

colClasses告诉R如何处理传入的数据。将第一个元素定义为"character"将保留前导零,您也可以定义其他列。这个问题中的更多细节。

我想知道您是否需要使用:

read.fwf("~/Documents/climdiv-tmaxdv-v1.0.0-20160304.txt",
          widths = c(12,7,6,7,7,7,7,7,7,7,7,7,6), header = FALSE, 
          n = 43164, colClasses="character")

我真的不知道,因为你说的是列1是一个行名,除了read.*-函数不会假设无头文件的第一列是行名。所有列都用空格或制表符分隔吗?那么read.table可能是正确的答案,但如果不是,那么您可能需要使用read.fwf

从您的评论中可以看出,这实际上是一个FWF文件,您应该使用以c(2, 2,2,2,2 ...) 开头的宽度

最新更新