我有一个csv文件,其中一些数值表示为字符串,逗号为千分隔符,例如,"1,513"而不是1513.将数据读入R的最简单方法是什么?
我可以使用read.csv(..., colClasses="character"),但是在将这些列转换为数字之前,我必须从相关元素中删除逗号,我找不到一个巧妙的方法来做到这一点.
我有一个这种格式的数据文件:
Weight Industry Type
251,787 Kellogg h
253,9601 Kellogg a
256,0758 Kellogg h
....
Run Code Online (Sandbox Code Playgroud)
我读取数据并尝试使用以下命令绘制直方图:
ce <- read.table("file.txt", header = TRUE)
we = ce[,1]
in = ce[,2]
ty = ce[,3]
hist(we)
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
错误en hist.default(we):'x'必须是数字.
为了绘制三个变量的直方图,我需要做什么?
我有数据集,负数值用数字括号表示,即(10)==-10它是csv格式,我该如何处理它以便R将其解释(10)为-10?谢谢.
更新我知道我可以通过替换(as -,删除)和as.numeric之后使用来解决这个问题,但这个问题有更优雅的方法吗?
我有很多(数十万)相当大(>0.5MB)的文件,其中数据是数字,但以逗号作为小数分隔符。使用像 之类的外部工具对我来说是不切实际的sed "s/,/./g"。当分隔符是点时,我只使用textscan(fid, '%f%f%f'),但我看不到更改小数点分隔符的选项。如何有效地读取这样的文件?
文件中的示例行:
5,040000 18,040000 -0,030000
Run Code Online (Sandbox Code Playgroud)
注意: R有类似的问题,但我使用 Matlab。
我是初学者,我想读取包含 .csv 和 .csv 文件的 csv 文件。和 ,是小数点分隔符。我怎样才能在 R 中做到这一点,谢谢
AllDataxx=read.csv("C:Sample.csv",
header=TRUE,sep=";",dec=", & .")
Run Code Online (Sandbox Code Playgroud) 我有2列数据,数值如下,是制表符分隔格式:
Si1 Si2
8,99691 7,495936
7,7164173 8,092645
4,4428697 4,298263
7,4302206 7,189521
5,897344 5,316047
.
.
.
Run Code Online (Sandbox Code Playgroud)
为了计算这些之间的相关性,我写了R代码如下:
int<-read.table("data.txt",sep="\t",head=TRUE)
attach(int)
cor(int$Si1,int$Si2)
Run Code Online (Sandbox Code Playgroud)
但它显示错误如下:
Error in cor(int$Si1,int$Si2) : 'x' must be numeric
Run Code Online (Sandbox Code Playgroud)
谁能告诉我怎么解决这个问题?
如您所见,我想将此变量转换为数字:
> class(DATA$estimate)
[1] "factor"
> head(DATA$estimate)
[1] 0,253001909 0,006235543 0,005285019 0,009080499 6,580140903 0,603060006
57 Levels: 0,000263863 0,000634365 0,004405696 0,005285019 0,006235543 0,009080499 0,009700147 0,018568434 0,253001909 ... 7,790580873
>
Run Code Online (Sandbox Code Playgroud)
但是当我想转换时,看看我有什么
> DATA$estimate<-as.numeric(DATA$estimate)
> DATA$estimate
[1] 9 5 4 6 51 12 3 53 11 8 1 7 15 27 30 29 28 31 21 23 22 39 38 37 33 26 34 52 57 50 24 18 20 10 2 55 54 56 36 32 35 44 46
[44] 48 19 …Run Code Online (Sandbox Code Playgroud)