R语言---数据源

一、rjson及RJSONIO包介绍

rjson是一个R语言与json进行转的包,是一个非常简单的包,支持用 C类库转型和R语言本身转型两种方式。

rjson库,提供的函数只有3个,fromJSON(), newJSONParser(), toJSON()。 

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于阅读和编写,同时也易于机器解析和生成。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。目前有许多API服务提供了JSON的数据格式。

install.packages("rjson")

library(rjson)

 

grades=fromJSON("grades.json")

要探索 R 如何处理一段给定数据,可以使用命令 str()

str(grades)

确定要提取哪些数据点,并使用 c() ,或者使用联接,以便提取数据。R 中更有用的一种数据类型是 data.frame ,它是矢量的复合物。为了从示例数据创建 data.frame。

Amy.grade=c(grades[[1]]$grade1, grades[[1]]$grade2, grades[[1]]$grade3)

Bob.grade=c(grades[[2]]$grade1, grades[[2]]$grade2, grades[[2]]$grade3)

Charles.grade=c(grades[[3]]$grade1, grades[[3]]$grade2, grades[[3]]$grade3)

David.grade=c(grades[[4]]$grade1, grades[[4]]$grade2, grades[[4]]$grade3)

 

All.grades=data.frame(Amy.grade, Bob.grade, Charles.grade, David.grade)

案例二

jsonfile="https://controllerdata.lacity.org/api/views/s234-w655/rows.json?accessType=DOWNLOAD"

#Extract JSON data using rjson

rev <- fromJSON(jsonfile)

str(rev)

datalength <- length(rev$data)

id<-{}

name<-{}

dataTypeName<-{}

fieldName<-{}

position<-{}

renderTypeName<-{}

for (x in 1:datalength) {

  id <- c(id,as.integer(noquote(rev$data[[x]][1]))) 

  name <- c(name,toString(noquote(rev$data[[x]][2])))

  dataTypeName <- c(dataTypeName,toString(noquote(rev$data[[x]][3])))

  fieldName <- c(fieldName,toString(noquote(rev$data[[x]][4])))

  position <- c(position,toString(noquote(rev$data[[x]][5])))

  renderTypeName<- c(renderTypeName,toString(noquote(rev$data[[x]][6])))

}

#Bind columns and convert it to dataframe

revdata <- as.data.frame(cbind(id,name,dataTypeName,fieldName,position,renderTypeName))

 

head(revdata)

二、Import Data from SPSS, Stata, SAS, CSV or TXT

1、SPSS数据来源

library(foreign)

 

df <- read.spss("dataset.sav", use.value.label=TRUE, to.data.frame=TRUE)

2、Stata数据来源

library(foreign)

 

df <- read.dta("dataset.dta")

3、SAS数据来源

First use the code below in SAS (not R) to export data:

# run in SAS

proc export data=dataset

outfile="datast.csv"

dbms=csv;

 

run;

Now that your data is exported you can import in R by using the code below:

df <- read.csv("dataset.csv",header=T,as.is=T)

还可以直接上传SAS文件到R

library(Hmisc)

 

df <- sasxport.get("/filename.xpt")

4、CSV数据来源

df <- read.table("dataset.csv", header=TRUE, sep=",")

df <- read.csv("dataset.csv",header=T,as.is=T)

5、TXT数据来源

df <- read.table("dataset.txt", as.is=TRUE, header=T)

df <- read.table("dataset.txt", header=TRUE, sep=",")

df <- read.table("dataset.txt", header=T, strings=F)

6、加载R数据

Save the dataset:

save(df, file="mydata.Rdata")

Load data in R:

load("mydata.Rdata")

Other interesting functions are ls() which list the objects in the current workspace, rm(objectlist) which delete objects in your workspace.


三、Export Data from R to TXT,CSV,SPSS or Stata

1、Exporting data to txt

write.table(dt, "mydata.txt", sep=",")

2、Exporting data to csv

write.table(dt, file="mydata.csv",sep=",",row.names=F)

3、Exporting data to spss, with loading first package foreign:

library(foreign)

 

write.foreign(dt, "mydata.txt", "mydata.sps",package="SPSS")

4、Rxporting data to stata

write.dta(dt, "mydata.dta")

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值