R无法正确读取csv文件

时间:2020-07-27 18:56:01

标签: r csv import

从R读取csv文件时遇到问题。当我从csv文件导入数据集时,数字(或至少应该是)数字列将作为字符导入并在\r处添加。结束。例如,对于男性,将二进制性别变量读取为“ 1 \ r”,对于女性,将其读取为“ 2 \ r”。起初我以为从Github读取是问题所在,但是即使从本地文件读取,也没有任何改变。

我已经尝试过stringsAsFactors = FALSE选项,但是NA并不是问题,因为该列没有NA值。我还尝试从Excel将列类型设置为number。没事。这是我的代码:

library(tidyverse) 
library(cowplot)
library(kableExtra)
library(knitr) 
library(lubridate)
library(dplyr) 
library(moments) 
library(readr)
library(rgdal)
library(broom)
library(scales)
library(lemon)
library(ggplot2)
library(survey)
knit_print.data.frame <- lemon_print

#Lectura de Datos y Diccionario
options(stringsAsFactors=F)


df <-  read_csv("https://raw.githubusercontent.com/pablolopez2733/Aplicada1/master/Bases%20de%20Datos/conjunto_de_datos_envipe2019_csv/conjunto_de_datos_TPer_Vic2_ENVIPE_2019/conjunto_de_datos/conjunto_de_datos_TPer_Vic2_ENVIPE_2019.csv")

df$SEXO


产生: output

链接到csv:https://raw.githubusercontent.com/pablolopez2733/Aplicada1/master/Bases%20de%20Datos/conjunto_de_datos_envipe2019_csv/conjunto_de_datos_TPer_Vic2_ENVIPE_2019/conjunto_de_datos/conjunto_de_datos_TPer_Vic2_ENVIPE_2019.csv

2 个答案:

答案 0 :(得分:0)

如果您已经在使用stringsAsFactors = FALSE,但仍无法使用,请尝试添加

strip.white = TRUE

也作为参数

答案 1 :(得分:0)

根据OP的评论,此代码应有效:

library(tidyverse)


##Read the file and get rid of carriage trails in all variables


df <-  read_csv("https://raw.githubusercontent.com/pablolopez2733/Aplicada1/master/Bases%20de%20Datos/conjunto_de_datos_envipe2019_csv/conjunto_de_datos_TPer_Vic2_ENVIPE_2019/conjunto_de_datos/conjunto_de_datos_TPer_Vic2_ENVIPE_2019.csv") %>%
    mutate_all(.funs = ~str_replace_all(.,"[\r]",""))

##Mutate a single variable    
df_mutate_single <-  df %>% 
    mutate(SEXO = parse_number(SEXO)) 

#Use mutate at to pass a vector of variables to convert to numeric

df_mutate_at <- df %>%
    mutate_at(c("AP6_1_2","AP6_1_2", "EDAD"), .funs = ~parse_number(.))