我有一个R数据帧,其中一列包含一串数字,但我想将它们视为一个因素(主要是为了阻止R使用e + 04等缩短数字......).我找到解决此问题的一种方法是编辑从中获取数据的csv文件,并添加一个在所需列中包含单词的虚拟条目,然后重新导入它.如何在不搞乱csv的情况下使用R函数获得此效果?
为了澄清,我的数据框看起来像这样:
pNum,Condition,numberEntered
1,2,5.0970304e+07
Run Code Online (Sandbox Code Playgroud)
我想将numberEntered的数据类型从numeric更改为factor,并摆脱讨厌的e + 07.
Ric*_*ton 20
正如约书亚所说,这是一个印刷问题,而不是存储问题.您可以更改所有数字的打印方式(=通过调整getOption("scipen").
x <- c(1, 2, 509703045845, 0.0001)
print(x)
options(scipen = 50)
print(x)
Run Code Online (Sandbox Code Playgroud)
或者,您可能希望更改格式化这些数字的方式.(这将它们转换为character.)值得了解format和formatC.为了帮助您入门,请进行比较
format(x)
format(x, digits = 10)
format(x, digits = 3)
format(x, digits = 3, scientific = 5)
format(x, trim = TRUE, digits = 3, scientific = 5)
formatC(x)
formatC(x, format = "fg")
formatC(x, format = "fg", flag = "+")
Run Code Online (Sandbox Code Playgroud)