我正在使用readr
' s 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()))
在我的数据中,&#39;焦点&#39;列包含如下数据:
55.0 mm
7.8 mm
16.0 mm
等等。我希望将数据作为双重数据,所以我想忽略&#39;毫米&#39;后缀。
我找到了this bug comment,这似乎表明今天在readr
中实际上是不可能的,除非将列作为字符串读取然后转换为第二步。
但是,我只能假设必须有一种方法来编写自定义列规范,对吧?可能可以编写自己的col_focal_length()
函数,该函数在幕后col_double()
构建,以便从一开始就实现正确的解析?
编辑覆盖解决方案:
focals$focal <- as.double(gsub(" mm$", "", focals$focal))
但正如我所说的那样,我希望在数据集的开始时保持正确...
答案 0 :(得分:0)
试试这个:
as.double(parse_number(focals$focal))
如果这项工作让我们知道。谢谢