作者q6261901 (幸福的尾巴)
看板Statistics
标题[程式] R读资料...
时间Tue Jul 24 01:51:55 2012
[软体程式类别]:R
[程式问题]:资料读取
[软体熟悉度]:5个小时...
[问题叙述]:
为了如何读资料,我已经把GOOGLE翻过一遍,但大部分的教学都很相似...
所以才来版上发问
当我在读资料时,会发生
1. 第 X 列没有 X 个元素 <-表示CSV档里面的资料可能有空缺
2. 读档时,CSV档里面是不是不能有中文字
3. 出现 more columns than column names 的错误
[程式范例]:
data<-read.table("d:/a/213.csv", header = TRUE)
就是执行这个出现more columns than column names 的错误
以下是我CSV档的资料
ID b c
22201040001 46200 0
22201040001 46200 0
由於现在是测试阶段,所以里面的DATA并没有很多
麻烦版上的高手帮忙解惑
光学读资料就花了我好几个小时了> <
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.70.37
1F:→ ching0629:读csv档试试看 read.csv 应该能解决你的问题 07/24 10:37
2F:→ ching0629:语法基本上没错,但是 read.table 好像是拿来读记事本? 07/24 10:38
3F:→ ching0629:这点我不太确定,因为我通常是用 read.csv ,所以你试试 07/24 10:39
4F:→ ching0629:如果用对语法,据我所知你上面提的三个问题我都不曾遇过 07/24 10:40
5F:→ ching0629:有空缺会填 "NA" , 文字可以读(不过可能还需要指令限定 07/24 10:41
6F:→ ching0629:他是文字,指令是"as.character(该变项)") 07/24 10:42
7F:→ obarisk:CVS是逗号分隔,用read.table要加参数 07/24 10:59
8F:→ ching0629:感谢楼上提醒,刚刚试了下改成这样应该就可以了 07/24 11:08
9F:→ ching0629:data=read.table("d:/a/213.csv",header=TRUE,sep=",") 07/24 11:09
10F:→ ching0629:不过用我建议的read.csv也可以 07/24 11:10
虽然昨天睡前自己弄出来了,
不过还是十分感谢帮忙~~~~
不过还有一个问题XD
我在执行回归时,想把自变数取ln
请问是要到函数外面先设定还是在里面,
ex:
savings <- read.table("d:/a/222.csv", header = TRUE, sep = ",")
savings.lm <- lm(O ~ J , data = savings)
█
这里要成log(O)吗??
summary(savings.lm)
还是要到外面去重新设定一个变数
ex:
savings <- read.table("d:/a/222.csv", header = TRUE, sep = ",")
AAA <- log(O)
savings.lm <- lm(
AAA ~ J , data = savings)
summary(savings.lm)
想请问哪个才对 还都是错> <
11F:→ obarisk:都可以 07/24 13:12
我跑出来是这样耶@@
> savings <- read.table("d:/a/222.csv", header = TRUE, sep = ",")
> AAA <- log(O)
错误: 找不到物件 'O'
> savings.lm <- lm(AAA ~ J , data = savings)
错误在eval(expr, envir, enclos) : 找不到物件 'AAA'
> summary(savings.lm)
错误在summary(savings.lm) : 找不到物件 'savings.lm'
> savings <- read.table("d:/a/222.csv", header = TRUE, sep = ",")
> savings.lm <- lm(log(O) ~ J , data = savings)
错误在lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
NA/NaN/Inf in 'y'
> summary(savings.lm)
12F:推 Wush978:中文问题请查encoding相关的说明 07/24 13:55
13F:→ Wush978:通常windows底下要用big5, Linux则是用UTF-8 07/24 13:55
这个...我看不太懂...
※ 编辑: q6261901 来自: 218.173.68.128 (07/24 14:43)
14F:→ q6261901:先谢谢大家好了 剩下我再研究看看 感谢 07/24 14:44
15F:→ gsuper:sep="\t" , header=T , skip=10 这些都试试看 07/24 19:57
16F:→ gsuper:不然就出大绝 read.delim() , 不要下 sep , 之後自己切开 07/24 19:58
17F:→ gsuper:用 apply(data,1,strplit,split="\t") 之类的方法 07/24 19:58