从CSV文件创建数据框时出错

时间:2019-07-18 12:44:06

标签: r

错误:Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : line 1 did not have 2 elements

我的文件结构:

codigo  descricao
101     Oficiais generais das forças armadas
102     Oficiais das forças armadas
201     Oficiais superiores da polícia militar
203     Tenentes da polícia militar
211     Subtenentes e sargentos da policia militar
212     Cabos e soldados da polícia militar
301     Oficiais superiores do corpo de bombeiros militar
312     Cabos e soldados do corpo de bombeiros militar
1111    Legisladores
1112    Dirigentes gerais da administração pública
1113    Magistrados
2103    ...............
3156    ...............

代码:

cbo2002_familia <- read.table("CBO2002_Familia.csv",sep=";",
                    header = TRUE, encoding = "UTF-8", col.names = c("codigo, descricao"),  colClasses = c("factor", "character"))

我需要使用这两个HEADERS导入此CSV文件,以对其进行操作。但是我遇到了这个错误,我不明白为什么。如果未指定列和每列的类型,则导入将正常完成。 如何进行?

我想指定为因子和字符,以便在代码列中,只有3个数字的项目前面填充0(零)。

1 个答案:

答案 0 :(得分:1)

您的分隔符似乎是一个标签\t

col.names = c("codigo, descricao")应该是col.names = c("codigo", "descricao")

cbo2002_familia <- read.table("CBO2002_Familia.csv",sep="\t",
                 header=T, encoding = "UTF-8", col.names = c("codigo", "descricao"),  colClasses = c("factor", "character"))

head(cbo2002_familia)
#  codigo                                  descricao
#1    101       Oficiais generais das forças armadas
#2    102                Oficiais das forças armadas
#3    201     Oficiais superiores da polícia militar
#4    203                Tenentes da polícia militar
#5    211 Subtenentes e sargentos da policia militar
#6    212        Cabos e soldados da polícia militar