【发布时间】:2020-07-27 18:56:01
【问题描述】:
从 R 读取 csv 文件时遇到问题。当我从 csv 文件导入数据集时,数字列(或至少应该是数字列)将作为字符导入并在末尾添加 \r。例如,一个二进制性别变量被读取为男性的“1\r”和女性的“2\r”。起初我认为从 Github 读取它是问题,但即使从本地文件读取它,也没有任何改变。
我已经尝试了 stringsAsFactors = FALSE 选项,并且 NA 不是问题,因为该列没有 NA 值。我还尝试将列类型设置为numberfrom Excel。没有任何效果。这是我的代码:
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
【问题讨论】:
-
我认为问题出在文件上。更容易阅读文件摆脱“\r”,然后将目标列转换为数字。您是否事先知道要将哪些列转换为数字?
-
呵呵,文件82MB!尽管如此,我刚刚下载它并注意到它没有单个换行符(wc -l 产生 0),并且确实许多字段在分隔逗号之前附加了回车符 (\r)。此文件的格式似乎不正确。
-
@HarroCyranka 是的,我知道哪些列需要是数字。没想到你的建议。让我尝试。任何有关脚本建议的帮助都会受到欢迎。
-
然后会发布答案。