我第一次尝试使用R制作直方图。 我有一个文件,其中包含一列大小范围从8.85543e-07到1.15469e-03的100,000个浮点数。 由于'e'记法,R显然无法识别它们为浮点数。 我该如何让R读取它们呢?谢谢!
我第一次尝试使用R制作直方图。 我有一个文件,其中包含一列大小范围从8.85543e-07到1.15469e-03的100,000个浮点数。 由于'e'记法,R显然无法识别它们为浮点数。 我该如何让R读取它们呢?谢谢!
R可以很好地读取这些数字;必须有另一个值导致了问题。
如果您使用read.table
/read.csv
/read.delim
读取数据,如果未正确导入,您始终可以将数据转换为数字。
x <- as.numeric(as.character(df$x))
其中df
是您的数据框名称,x
是您想要的列。
as.numeric(data$x)
。你想要将数据框中的一列转换为数字,而不是整个数据框本身。 - Hong Ooi像这样读取文件:
file_as_data_frame <- read.table("file.txt", colClasses="numeric")
我发现在R中读取科学计数法的一个问题有时不是数字本身,而是数字之间的空格。
您可以通过将文件中的一些科学计数法剪切并粘贴到文本编辑器中,并使用以逗号分隔的数字用C()函数将数字括起来来测试此功能。如果R从C()函数正确读取科学计数法,则您的文件存在空格问题;否则,您可能具有特定于平台的科学计数法实现问题(罕见且不太可能,但可能性存在)。
如果您有“空格问题”,请检查Read.Table()中的“delim =”参数。
请注意:
delim = " " # one space
delim = "" # no space
delim = "/t" # escape sequence for tab
所有的程序都会以不同的方式处理空格。可能需要尝试几次才能确定哪个适用于您的文件。
is.numeric(8.85543e-07)
返回TRUE
。你是如何读取数据的? - thelatemail