我使用readr
的read_delim
是这样的:
focals <- read_delim('~/all_focals2.txt', delim='\t',
col_names=c("1", "focal", "2", "model"),
col_types=cols_only(focal = col_double(), model = col_character()))
在我的数据中,“焦点”列包含以下数据:
55.0 mm
7.8 mm
16.0 mm
等等。我想以双精度获取数据,所以我想忽略“mm”后缀。
我发现了这个错误评论,这似乎表明这在今天实际上是不可能的readr
,除非将列作为字符串读取,然后作为第二步进行转换。
但是,我只能假设必须有一种方法来编写自定义列规范,对吧?有可能编写自己的col_focal_length()
函数,它建立在col_double()
幕后,从一开始就实现正确的解析?
通过覆盖编辑解决方案:
focals$focal <- as.double(gsub(" mm$", "", focals$focal))
但正如我所说,我想从一开始就在数据集中拥有它......