[Rcode]数据框的基础操作【不定期更新】

一 数据的筛选与处理

1 添加新的一列,把连续型变量(如身高)转化为类别型变量

data$height[data$height>=3]<-NA #把异常值重新编码为缺失值
data<-within(data,{
             heightcat<-NA
             heightcat[height>1.8]<-"taller"
             heightcat[height>=1.6&height<=1.8]<-"middle"
             heightcat[height<1.6]<-"shorter"})              #创建一个类别型变量给身高数据归类
                                                             #注意这里heightcat只是一个字符型变量,而不是一个有序型因子
                                                             #注意within的用法,可以修改数据框

2 变量的重命名

#method 1 
fix(data)   #交互修改
#method 2
names(data)[i]<-"newname"
#method 3
library(plyr)
rename(data,c(oldname="newname",oldname="newname"))

3 缺失值处理

is.na(data[,1:5]) #识别缺失值
na.omit(data) #移除所有含有缺失值的观测(即删除行)

#原始数据中a<=0,b<=0,c<=0则表示缺失,用于删除含缺失值的行
data<-read.csv("d:/data.csv",header=T,sep=",")
attach(data)
index=a>0&b>0&c>0
data<-data[index,]


4 数据集取子集

newdata<-data[,6:10]                                                                #直接挑选变量
newdata<-data[c(-1,-2)]                                                             #删除第一个和第二个变量,等价于data$var1<-data$var2<-NULL
# 选择观测
newdata<-data[1:3,]                                                                 #直接选择行
newdata<-data[data$heightcat=="taller"&data$height>1.5,]                            #使用attach函数就不用加美金符号
#subsset函数
newdata<-subset(data,height>=1.7|height<1.5,select=c(height,heightcat))
newdata<-subset(data,heightcat=="taller",select=height:heightcat)




 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值