Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让R以指数表示法读取一列数字?_R_Statistics - Fatal编程技术网

如何让R以指数表示法读取一列数字?

如何让R以指数表示法读取一列数字?,r,statistics,R,Statistics,我第一次尝试使用R来制作直方图。我有一个文件,其中包含一列100000个浮点数,大小从8.85543e-07到1.15469e-03不等。R显然不承认它们是浮点数,因为“e”符号。我怎样才能让R读它们呢。谢谢 R可以很好地读懂这些数字;其中一定有另一个值导致了问题 如果使用read.table/read.csv/read.delim读取数据,如果数据导入不正确,则始终可以将其转换为数字 x <- as.numeric(as.character(df$x)) x像这样读取文件: file_

我第一次尝试使用R来制作直方图。我有一个文件,其中包含一列100000个浮点数,大小从8.85543e-07到1.15469e-03不等。R显然不承认它们是浮点数,因为“e”符号。我怎样才能让R读它们呢。谢谢

R可以很好地读懂这些数字;其中一定有另一个值导致了问题

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

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

x像这样读取文件:

file_as_data_frame <- read.table("file.txt", colClasses="numeric")

file\u as\u data\u frame我发现在阅读R中的科学符号时遇到的一个问题有时不是数字本身,而是数字之间的空白

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

如果您有“空白问题”, 检查“delim=”参数以读取.Table()

请注意:

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

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

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


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

请确保提供可复制的示例。有关更多详细信息,请参阅。我无法复制你的问题。你说R“不认识他们”是什么意思?它应该将这些值作为数值读入,例如:
is.numeric(8.85543e-07)
返回
TRUE
。您是如何读取数据的?我正在使用数据,谢谢-我已经尝试使用
as.numeric(data$x)
。您希望转换数据帧内的列,而不是数据帧本身。我有一个类似的问题,然后R使用科学符号将值转换为NAs。