全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3938 1
2012-12-12
刚从数据库下到的数据无法直接拿来用,通常它前面有编号“1:”,“2:”之类的,导入R以后也无法作为数值变量来用。哪位大神给个方法,把这些数据处理成可以直接使用的。
原数据大概如附件那样
housing.zip
大小:(13.03 KB)

 马上下载

本附件包括:

  • housing.txt




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-12-13 00:01:45
a <- read.table("housing.txt",sep="")

for(i in 1:13){
  a1 <- as.character(a[,i+1])
  a2 <- unlist(strsplit(a1,split=":"))
  a3 <-matrix(a2,ncol=2,byrow=T)[,2]
  a[,i+1]<- as.numeric(a3)
}
names(a) <-paste(c("v1",1:13))
a

head(a)

head(a)
    v1       1       2    3    4     5     6      7     8         9  10   11   12    13
1 24.0 0.00632 18 2.31 0 0.538 6.575 65.2 4.0900 1 296 15.3 396.90 4.98
2 21.6 0.02731  0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 396.90 9.14
3 34.7 0.02729  0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 392.83 4.03
4 33.4 0.03237  0 2.18 0 0.458 6.998 45.8 6.0622 3 222 18.7 394.63 2.94
5 36.2 0.06905  0 2.18 0 0.458 7.147 54.2 6.0622 3 222 18.7 396.90 5.33
6 28.7 0.02985  0 2.18 0 0.458 6.430 58.7 6.0622 3 222 18.7 394.12 5.21

对比下 原来数据
24.0 1:0.00632 2:18.00 3:2.310 4:0 5:0.5380 6:6.5750 7:65.20 8:4.0900 9:1 10:296.0 11:15.30 12:396.90 13:4.98
21.6 1:0.02731 2:0.00 3:7.070 4:0 5:0.4690 6:6.4210 7:78.90 8:4.9671 9:2 10:242.0 11:17.80 12:396.90 13:9.14
34.7 1:0.02729 2:0.00 3:7.070 4:0 5:0.4690 6:7.1850 7:61.10 8:4.9671 9:2 10:242.0 11:17.80 12:392.83 13:4.03
33.4 1:0.03237 2:0.00 3:2.180 4:0 5:0.4580 6:6.9980 7:45.80 8:6.0622 9:3 10:222.0 11:18.70 12:394.63 13:2.94
36.2 1:0.06905 2:0.00 3:2.180 4:0 5:0.4580 6:7.1470 7:54.20 8:6.0622 9:3 10:222.0 11:18.70 12:396.90 13:5.33
28.7 1:0.02985 2:0.00 3:2.180 4:0 5:0.4580 6:6.4300 7:58.70 8:6.0622 9:3 10:222.0 11:18.70 12:394.12 13:5.21
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群