7

我第一次尝试使用 R 来制作直方图。我有一个文件,其中包含一列 100,000 个浮点数,大小从 8.85543e-07 到 1.15469e-03 不等。由于 'e' 符号,R 显然不会将它们识别为浮点数。我怎样才能让 R 阅读它们。谢谢!

4

4 回答 4

8

R 可以很好地读取这些数字;那里必须有另一个导致问题的值。

如果您使用read.table/ read.csv/读取数据read.delim,如果数据未正确导入,您始终可以将数据转换为数字。

x <- as.numeric(as.character(df$x))

wheredf是您的数据框的名称,并且x是您想要的列。

于 2013-07-18T05:59:03.680 回答
3

像这样读取文件:

file_as_data_frame <- read.table("file.txt", colClasses="numeric")
于 2014-12-16T22:25:23.893 回答
0

您可以将 read.tables 的 colClasses 参数设置为“字符”。这将导致以字符格式读取数据,这将保留科学记数法

如果要对具有科学计数格式的列进行计算,则可以使用 as.numeric 将列从字符格式转换为数字格式

于 2020-07-25T13:44:46.277 回答
0

我发现在 R 中阅读科学记数法的一个问题有时不是数字本身,而是数字之间的空白。

您可以通过将文件中的一些科学记数法剪切并粘贴到文本编辑器并使用 C() 函数将数字括起来并用逗号分隔数字来测试这一点。如果 R 从 C() 函数中正确读取科学记数法,那么您的文件中有空格问题;如果不是,您可能在科学记数法实现方面存在特定于平台的问题(罕见且不太可能,但可能)。

如果您有“空白问题”,请检查 Read.Table() 的“delim =”参数。

注意:

    delim = " "  # one space
    delim = ""   # no space
    delim = "/t" # escape sequence for tab

所有人都以不同的方式对待空白。可能需要反复试验才能确定哪个适用于您的文件。

于 2015-08-15T15:10:50.710 回答