[转] R 数据框数据处理

1、书本基本数据管理实操练习

1.1生成一个数据框示例

manager <- c(1,2,3,4,5)
date <- c("10/24/08","10/28/08","10/1/08","10/12/08","5/1/09")
country <- c("US","US","UK","UK","UK")
gender <- c("M","F","F","M","F")
age <- c(60,45,85,39,99)
q1 <- c(5,2,5,4,1)
q2 <- c(5,5,5,NA,2)
q3 <- c(5,5,2,NA,1)
leadership <- data.frame(manager,date,country,gender,age,q1,q2,q3,stringsAsFactors = FALSE)
1.2 创建新变量
leadership$sumx <- leadership$manager + leadership$age
1.3 变量重编码
1.3.1 方法1
leadership$age[leadership$age == 99] <- NA
leadership$agecat[leadership$age > 75] <- "Elder"
leadership$agecat[leadership$age >= 55 & leadership$age <= 75] <- "Middle Aged"
leadership$agecat[leadership$age < 55] <- "Young"

1.3.2 方法2
leadership <- within(leadership,{
                      age[age==99] <-NA
                      agecat[age > 75]                <- "Elder"
                      agecat[age >=55 & age <=75]     <- "Middle Aged"
                      agecat[age < 55]                <- "Young" })
1.4 变量重命名
names((leadership))
names(leadership)[2] <- "testdate"
1.5 缺失值的检测与排除
#缺失值的检测
is.na(leadership[,7:8])
#在分析中排除缺失值
leadership
newdata <- na.omit(leadership)
1.6 日期格式转化
#日期格式转化
myformat <- "%m/%d/%y"
leadership$testdate <- as.Date(leadership$testdate,myformat)
leadership
1.7 数据集的选入和剔除
#数据的升序和降序排序
newdate2 <- leadership[order(leadership$age),]
newdate2
newdata3 <- leadership[order(-age),]
newdata3
#数据集中取子集
myvars <- c("q1","q2","q3","q4","q5")
newdata4 <- leadership[myvars]
newdata4
#剔除数据集中的部分变量
myvars1 <- names(leadership) %in% c("q3","q4")
newdata1 <- leadership[!myvars1]
newdata5 <- leadership[c(-8,-9)]  #知道被剔除的变量是第几列情况下
newdata5
1.8 图形初阶实践
dose <- c(20,30,40,45,60)
drugA <- c(16,20,27,40,60)
drugB <- c(15,18,25,31,40)
#直接键入值修改图形绘制参数
plot(dose,drugA,type="b",lty=3,lwd=3,pch=15,cex=2)
#使用plot()和par()组合函数修改图形参数
plot(dose,drugA,type = "b")
opar <- par(no.readonly = TRUE)
par(lty=2,pch=17)
plot(dose,drugA,type="b")
par(opar)
#灰度颜色图形绘制
n <- 10
mycolors <- rainbow(n)
pie(rep(1,n),labels=mycolors,col=mycolors)
mygrays <- gray(0:n/n)
pie(rep(1,n),labels=mygrays,col=mygrays)










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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值