为什么这段代码:as.factor(c("\U201C", '"3', "1", "2", "\U00B5"))在每个操作系统上返回不同的因子级别排序?
在Linux上:
> as.factor(c("\U201C",'"3', "1", "2","\U00B5"))
[1] " "3 1 2 µ
Levels: µ " 1 2 "3
在Windows上:
> as.factor(c("\U201C",'"3', "1", "2","\U00B5"))
[1] " "3 1 2 µ
Levels: "3 " µ 1 2
在Mac OS上:
>as.factor(c("\U201C",'"3', "1", "2","\U00B5"))
[1] " "3 1 2 µ
Levels: "3 " 1 2 µ
我让一些学生提交了包含的RMardkown作业as.numeric(as.factor(dat$var)).现在认为这不是一种好的编码方式,但输出的不一致会导致很多混乱和浪费时间.
我想readr::parse_number()用于一个被猜测为"数字"类型的字符向量readr::guess_parser()
我可以构建一个语言环境来使用它 readr::parse_number( readr::locale(decimal_mark = <a mark to be determined at run time>) )
所以问题是系统区域设置在运行时之前是未知的,并且可能位于世界的任何地方.有没有办法从系统区域设置确定小数点?