R 缺失数据的剔除,分析,数据类型的转换,数据集的合并,随机抽样

###缺失值的处理
##is.na()函数是用来识别缺失值是否存在
y<-c(1,2,3,NA)
is.na(y)
is.na(leadership[,6:10])
#在分析中排除缺失值
x<-c(1,2,NA,3)
y<-x[1]+x[2]+x[3]+x[4]
z<-sum(x)#此时y,z均为缺失值
x<-c(1,2,NA,3)
y<-sum(x+na.rm=TRUE)#na.rm=TURE主要是为了移除缺失值然后进行计算
#na.omit()可以移除所有不含有缺失值的观测,可以删除所有含有缺失数据的行
leadership#含有缺失值的行
newdata<-na.omit(leadership)
newdata
#日期值的确定.在R中可以将日期进行相减算出相应的时间间隔
startdate<-as.Date("2020-07-20")
enddate<-as.Date("2020-09-23")
days<-enddate-startdate
#也可以用difftime()计算时间间隔
#将日期转换为字符型变量
strDate<-as.character(dates)
##数据类型的转换
a<-c(1,2,3)
a
is.numeric(a)#判断是否为数值型
a<-as.character(a)#转换为字符型
is.numeric(a)
##数据进行排序利用order()函数
newdata<-leadership[order(leadership$age),]#年龄升序排序
attach(leadership)
 newdata <- leadership[order(gender, age),]#则将各行依女性到男性、同样性别中按年龄升序排序。
 detach(leadership)
#
attach(leadership) 
newdata <-leadership[order(gender, -age),] #按照性别和年龄降序排序
detach(leadership)
##数据集的合并
##数据框添加列,也就是横向合并使用merge()函数,两个数据集合并要有一个或者多个变量
total<-merge(dataframeA,dataframeB,by=ID)#将两数据集按照ID进行合并
##使用cbind()函数进行横向合并
total<-cbind(A,B)##对象A,B必需要有相同的行数
##数据框中添加行,纵向合并,两个数据框必需拥有相同的变量
total<-rbind(dataframeA,dataframeB)
##数据集中取子集
newdata<-leadership[,c(6:10)]#,表示选择了所有的行
##剔除变量q3,q4
myvars<-names(leadership)%in%c("q3","q4")
newdata<-leadership[!myvars]
#也可以用如下的代码表示
newdata<-leadership[c(-8,-9)]#-号表示删除
#选入观测
newdata<-leadership[1:3,]#选择第一至三行
newdata<-leadership[leadership$gender=="M"&leadership$age>30,]#选择所有30岁以上的男性
##subset()函数选择变量相对比较简单的方法
newdata<-subset(leadership,age>=35|age<24,select=c(q1,q2,q3,q4))
newdata<-subset(leadership,gender=="M"&age>25,select=gender:q4)
##随机抽样使用函数sample()
mysample<-leadership[sample(1:nrow(leadership),3,replace=FALSE)]#不放回的抽取3个样本
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值