从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
答案 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(.))