有没有更简单的方法来读取r中的不规则数据?
这是我的数据,例如下面的数据。字符“.”不能输入,它有特殊的含义有没有更简单的方法来读取r中的不规则数据?,r,R,这是我的数据,例如下面的数据。字符“.”不能输入,它有特殊的含义 data='编号,学号,性别,民族,籍贯,系部,有无注册学籍, 1,1320207004,男,壮族,广西省,旅游系,有,., 2,1320207005,女,汉族,重庆市,旅游系,有,,, 3,1320403001,女,汉族,辽宁省,艺术系,有,,, 4,1320403002,女,汉族,广东省,艺术系,有,,, 5,1320403003,女,汉族,四川省,艺术系,有,,,. 6,1320403004,女,汉族,重庆市,艺术系,有,.
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 男 汉族 海南省 艺术系 有
r这里有一种方法:
raw <- read.table(textConnection(data),sep=",",fill=TRUE)
dat <- setNames(raw[-1,-9], c(as.character(unlist(raw[1,-c(8:10)])), "v1", "v2"))
这里有一个方法:
raw <- read.table(textConnection(data),sep=",",fill=TRUE)
dat <- setNames(raw[-1,-9], c(as.character(unlist(raw[1,-c(8:10)])), "v1", "v2"))
这里有一个方法:
raw <- read.table(textConnection(data),sep=",",fill=TRUE)
dat <- setNames(raw[-1,-9], c(as.character(unlist(raw[1,-c(8:10)])), "v1", "v2"))
这里有一个方法:
raw <- read.table(textConnection(data),sep=",",fill=TRUE)
dat <- setNames(raw[-1,-9], c(as.character(unlist(raw[1,-c(8:10)])), "v1", "v2"))
您可以运行,
确实出现在我的结果中,请尝试。chcp 936。请将您的错误消息粘贴到此处。如果某个特定的程序包对于代码的可复制性是必需的,请包括对库
或require
的相关调用,尤其是当程序包有些模糊时。我已在行尾将其删除->
。我修复了它,您可以得到结果。您可以运行,
确实出现在我的结果中,请尝试。chcp 936。请将您的错误消息粘贴到此处。如果某个特定的程序包对于代码的可复制性是必需的,请包括对库
或require
的相关调用,尤其是当程序包有些模糊时。我已在行尾将其删除->
。我修复了它,您可以得到结果。您可以运行,
确实出现在我的结果中,请尝试。chcp 936。请将您的错误消息粘贴到此处。如果某个特定的程序包对于代码的可复制性是必需的,请包括对库
或require
的相关调用,尤其是当程序包有些模糊时。我已在行尾将其删除->
。我修复了它,您可以得到结果。您可以运行,
确实出现在我的结果中,请尝试。chcp 936。请将您的错误消息粘贴到此处。如果要使您的代码可复制,需要特定的程序包,请包括对库
或要求
的相关调用,尤其是当程序包有点模糊时。我已在行尾将其删除->
。我修复了它,您可以得到结果。