用R语言获取数据

                   #############用R获取数据##########

        ###1.获取内置数据集

#查看datasets包帮助文档
help(datasets)
?datasets
#查看datasets包里的全部内置数据集
data(package="datasets")
#调用datasets包某个具体的数据集
data(women)
women

#下载MASS包
install.packages("MASS")
#运行MASS包
library(MASS)
#查看MASS包里的全部内置数据集
data(package="MASS")
#调用MASS包中bacteria数据集
data(bacteria)
bacteria

#data()函数总结
#查看已加载R包的数据集列表
data()
#调用特定数据集,也可以直接输入数据集名称
data(women)
data(bacteria)
women
bacteria
data(rivers)
rivers
#查看某个特定的R包包含哪些数据集
data(package="datasets")
data(package="MASS")
#查看所有可获取的数据集
data(package=.packages(all.available=TRUE))

        ###2.模拟特定分布的数据

#rnoorm()用于生成服从正态分布的随机数
r1<-rnorm(1000,mean=0,sd=1)
hist(r1)
#runif()用于生成服从区间[min,max]上均匀分布的随机数
r2<-runif(10000,min=0,max=100)
hist(r2)
#rbinom() 用于生成服从二项分布的随机数
r3<-rbinom(n=100,size=100,prob=0.1)
hist(r3)
#rpois()用于生成服从poisson分布的随机数
r4<-rpois(n=50,lambda=1)
hist(r4)


        ###3.获取其他格式的数据

#使用键盘输入数据
#创建一个空数据框
data1<- data.frame(ID= character(), 
                 age= numeric(),
                 sex=factor(),
                 MaritalStatus=logical())
#文本编辑器
d1<-edit(data1)
d1
#修改数据
d1<-fix(d1)
d1


#导入工作目录中的文件需要设置好文件所在的工作目录
#查看当前工作目录
getwd()
#改变工作目录
setwd("F:/data")

#从带分隔符的文本文件导入数据
?read.table
d2<-read.table("data2.txt",header=F,sep=",")
d2
d3<-read.csv("F:/data/data3.csv")
d3<-read.csv("data3.csv")
d3

###导入Excel数据
install.packages("openxlsx")
library(openxlsx)
d4<-read.xlsx("data4.xlsx")
d4
install.packages("tidyverse")
install.packages("readxl")
library(readxl)
d4<-read_excel("data4.xlsx")
d4

#导入其他统计软件的数据(SPSS、SAS、Stata)
install.packages("foreign")
library(foreign)
?read.spss
d5<-read.spss("data5.sav",use.value.labels = F)
d5
View(d5)
install.packages("Hmisc")
library(Hmisc)
d5 <- spss.get("data5.sav", use.value.labels=F)
#use.value.labels=TRUE表示让函数将带有值标签的变量导入为R中水平对应相同的因子
d5

#导出数据
#导出文本数据
write.table(d2,file = "data02.txt")
write.csv(d3,file = "data03.csv")
#导出Excel数据
write.xlsx(d4,file = "data04.xlsx",rowNames = TRUE) 
#导出导入其他统计软件的数据
write.foreign(d5,file="data05.sav",package="SPSS")
#R数据的保存与加载
save(d4,file = "data04.rdata")
rm(d4) #将对象a从R中删除
load("data04.rdata")
print(d4)

               ###rio包导入和导出数据

#下载rio
install.packages("rio")
#运行
library(rio)
#准备内置数据做举例子
data("infert")
str(infert)
#用rio包中export()将数据导出为想要的格式
export(infert,"infert.csv")
#rio包中convert()实现不同文件之间的转换
convert("infert.csv","infert.sav")
#import()导入文件
infert.data<-import("infert.sav")
#比较原始数据与导入数据的差别
str(infert)
str(infert.data)
#as系列函数可以用于实现变量类型转变
infert.data$education<-as.factor(infert.data$education)
str(infert.data)

                   ###练习题

#将survival包里的数据集lung加载到工作目录,并查看其帮助文档
install.packages("survival")
library(survival)
data(package="survival")
?lung
lung
data(cancer, package="survival")
#用函数生成均值为168,标准差为10的正态分布的1000个随机数,最后用hist()查看其分布
set.seed(1234)
r<-rnorm(1000,mean=168,sd=10)
hist(r)
#用write.csv()将datasets包里的iris导出为一个.csv文件,然后用函数read.csv()读入该文件,比较读入数据和原始数据的差异
iris
write.csv(iris,file = "iris.csv")
data.iris<-read.csv("iris.csv")
str(iris)
str(data.iris)
 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值