首页 > 解决方案 > read.socrata 将所有变量格式化为字符

问题描述

我正在使用 read.socrata 使用以下代码下载私有数据集

# Download private dataset
socrataEmail <- Sys.getenv("SOCRATA_EMAIL", "mark.silverberg+soda.demo@socrata.com")
socrataPassword <- Sys.getenv("SOCRATA_PASSWORD", "7vFDsGFDUG")
privateResourceToReadCsvUrl <- "https://soda.demo.socrata.com/resource/a9g2-feh2.csv" # dataset
read.socrata(url = privateResourceToReadCsvUrl, email = socrataEmail, password = socrataPassword, stringsAsFactors = FALSE)

我想以字符格式下载集合中的所有变量,但当前函数没有这个选项。有人对我如何实现这一目标有建议吗?我知道改变功能是一种选择,但更容易吗?

标签: rfunctionformattingsocrata

解决方案


将列类强制转换为字符的包装器怎么样?

read.socrata.chr <- function( ... )
    data.frame(lapply( read.socrata(...), as.character), stringsAsFactors=FALSE)

# Very light testing:

str(read.socrata.chr(url = privateResourceToReadCsvUrl, email = socrataEmail, password = socrataPassword, stringsAsFactors = FALSE))
'data.frame':   3 obs. of  2 variables:
 $ x: chr  "24323" "4324" "2346"
 $ y: chr  "2432" "2342" "3465"

推荐阅读