如何让R以指数表示法读取一列数字?
我第一次尝试使用R来制作直方图。我有一个文件,其中包含一列100000个浮点数,大小从8.85543e-07到1.15469e-03不等。R显然不承认它们是浮点数,因为“e”符号。我怎样才能让R读它们呢。谢谢 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_
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。