r数据框计算字符出现次数_R语言实战之R语言基础语法精讲(三)

本文是R语言基础语法精讲系列的第三部分,重点介绍R中的数据管理,包括创建数据框、变量重编码、处理缺失值、日期值、类型转换、数据排序、合并、子集选择等。学习后,读者将能掌握R语言的数据预处理技能,为数据分析打下坚实基础。
摘要由CSDN通过智能技术生成

afc66685f1051b60404a03353a4bd3fe.png

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。在学习R数据科学之前,我们首先要对R语言的基础语法有一个良好的了解,方便我们理解以后的数据科学算法。本次语法精讲分三次讲完,每次负责讲解其中一部分!本次的R语言语法精讲(三)主要介绍了 R语言的数据处理技术,涉及到很多数据科学常用的数据预处理技术。学完本文后,您将可以完全掌握R语言数据处理与数据分析的能力,并结合R语言语法精讲(一)和R语言语法精讲(二)以及您的专业知识,可以解决大多数数据分析的系统工作,已经可以熟练运用R语言进行数据建模。

本文引用:

《R语言实战--第2版》---------Robert I.Kabacoff

《统计计算与模拟》课程课件-------深圳大学林炳清老师

本文内容:

  • R常用数据结构
  • R的运算以及常用函数
  • R语言编程结构
    判断if-else
    循环for、while、repeat
    自定义函数
  • R的输入与输出
  • R基础绘图
  • 基本数据管理(本文)
  • 高级数据管理(本文)

1.基本数据管理

1.1 创建leadership数据框

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(32, 45, 25, 39, 99) 
q1 <- c(5, 3, 3, 3, 2) 
q2 <- c(4, 5, 5, 3, 2) 
q3 <- c(5, 2, 5, 4, 1) 
q4 <- c(5, 5, 5, NA, 2) 
q5 <- c(5, 5, 2, NA, 1) 
leadership <- data.frame(manager, date, country, gender, age, 
                         q1, q2, q3, q4, q5, stringsAsFactors=FALSE) 
leadership

501cbcd22ef5d4df8b471c6b1cd27931.png

1.2 创建新变量

mydata<-data.frame(x1 = c(2, 2, 6, 4), 
                   x2 = c(3, 4, 2, 8))
# 方式1
mydata$sumx  <-  mydata$x1 + mydata$x2 
mydata$meanx <- (mydata$x1 + mydata$x2)/2 

# 方式2
attach(mydata) 
mydata$sumx  <-  x1 + x2 
mydata$meanx <- (x1 + x2)/2 
detach(mydata) 

# 方式3(推荐)
mydata <- transform(mydata, 
                    sumx  =  x1 + x2, 
                    meanx = (x1 + x2)/2) 
mydata

915109cb849223b61a0ca5b0f59edc23.png

1.3 变量的重编码

重编码涉及根据同一个变量和/或其他变量的现有值创建新值的过程。举例来说,你可能想:

  • 将一个连续型变量修改为一组类别值;
  • 将误编码的值替换为正确值;
  • 基于一组分数线创建一个表示及格/不及格的变量。
# 方式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" 
# 方式2:使用within()简化代码:
leadership <- within(leadership,{ 
                     agecat <- NA  
                     agecat[age > 75]              <- "Elder" 
                     agecat[age >= 55 & age <= 75] <- "Middle Aged" 
                     agecat[age < 55]              <- "Young" }) 
leadership 

b0c6e8ba578e7d597f63c14bffa98360.png

1.4 变量的重命名

如果对现有的变量名称不满意,你可以交互地或者以编程的方式修改它们。

names(leadership)
nam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值