以下是我的数据如下。字符"。"不能被省略,它有特殊意义。
data='编号,学号,性别,民族,籍贯,系部,有无注册学籍,
1,1320207004,男,壮族,广西省,旅游系,有,.,
2,1320207005,女,汉族,重庆市,旅游系,有,,,
3,1320403001,女,汉族,辽宁省,艺术系,有,,,
4,1320403002,女,汉族,广东省,艺术系,有,,,
5,1320403003,女,汉族,四川省,艺术系,有,,,.
6,1320403004,女,汉族,重庆市,艺术系,有,.,,
7,1320403005,男,汉族,海南省,艺术系,有,,,
8,1320403006,男,汉族,海南省,艺术系,有,'
您无法通过以下方式阅读:
read.table(textConnection(data),sep=",",fill=TRUE,header=TRUE)
我这样读了。
r <- read.table(textConnection(data),sep=",",fill=TRUE)
r <- as.matrix(r)
number <- unname(which(apply(r,2,function(y){all(is.na(y))})))
r <- r[,-number]
header1 <- as.vector(unname(r[1,]))
r <- r[-1,]
header1 <- header1[header1!=""]
header2 <- paste("v",1:(ncol(r)-length(header1)),sep="")
header <- c(header1,header2)
colnames(r) <- header
noquote(r)
编号 学号 性别 民族 籍贯 系部 有无注册学籍 v1 v2
[1,] 1 1320207004 男 壮族 广西省 旅游系 有 .
[2,] 2 1320207005 女 汉族 重庆市 旅游系 有
[3,] 3 1320403001 女 汉族 辽宁省 艺术系 有
[4,] 4 1320403002 女 汉族 广东省 艺术系 有
[5,] 5 1320403003 女 汉族 四川省 艺术系 有 .
[6,] 6 1320403004 女 汉族 重庆市 艺术系 有 .
[7,] 7 1320403005 男 汉族 海南省 艺术系 有
[8,] 8 1320403006 男 汉族 海南省 艺术系 有
答案 0 :(得分:3)
这是一种方式:
raw <- read.table(textConnection(data),sep=",",fill=TRUE)
dat <- setNames(raw[-1,-9], c(as.character(unlist(raw[1,-c(8:10)])), "v1", "v2"))
结果(dat
):
编号 学号 性别 民族 籍贯 系部 有无注册学籍 v1 v2
2 1 1320207004 男 壮族 广西省 旅游系 有 .
3 2 1320207005 女 汉族 重庆市 旅游系 有
4 3 1320403001 女 汉族 辽宁省 艺术系 有
5 4 1320403002 女 汉族 广东省 艺术系 有
6 5 1320403003 女 汉族 四川省 艺术系 有 .
7 6 1320403004 女 汉族 重庆市 艺术系 有 .
8 7 1320403005 男 汉族 海南省 艺术系 有
9 8 1320403006 男 汉族 海南省 艺术系 有