返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >R语言变量级别的数据处理操作
  • 386
分享到

R语言变量级别的数据处理操作

2024-04-02 19:04:59 386人浏览 泡泡鱼
摘要

变量级别的数据处理无非是对变量的增删改查。 增 即增加新的变量 R语言中,增加一个新变量形式语句如下: 变量名 <- 表达式 表达式可以包含多种运算符和函数。常见运算符包括:

变量级别的数据处理无非是对变量的增删改查。

即增加新的变量

R语言中,增加一个新变量形式语句如下:

变量名 <- 表达式

表达式可以包含多种运算符和函数。常见运算符包括:

运算符 描述
+
-
*
/
^或** 求幂
x%%y 求余(x mod y)。5%%2的结果为1。
x%/%y 整数除法。5%/%2的结果为2。

示例:


#创建一个数据框
mydata <- data.frame(x1 = c(2,2,6,4),
+                      x2 = c(3,4,2,8))
mydata
  x1 x2
  2  3
  2  4
  6  2
  4  8
#绑定mydata
attach(mydata)
#为mydata数据框增加一个sum变量
mydata$sum <- x1 + x2
#为mydata数据框增加一个mean变量
mydata$mean <- (x1+x2)/2
mydata
  x1 x2 sum mean
  2  3   5  2.5
  2  4   6  3.0
  6  2   8  4.0
  4  8  12  6.0
#解除绑定
detach(mydata)
#用transfORM函数可以达到同样效果
mydata <- transform(mydata,sumx = x1+x2,meanx = (x1+x2)/2)
mydata
  x1 x2 sum mean sumx meanx
  2  3   5  2.5    5   2.5
  2  4   6  3.0    6   3.0
  6  2   8  4.0    8   4.0
  4  8  12  6.0   12   6.0

attach与detach函数用于绑定和解除数据集,以简化数据处理过程。如果不使用二者,生成sum变量,则每个变量名之前需要加上数据集名称+$符号。

使用transform函数,语法格式为transform(数据集名称,变量名=表达式)

随着R语言的发展出现了tidyverse系列包可以进行完整的数据分析流程。本基础教程以传统方法为主,tidyverse系列日后涉及。

即删除不需要的变量或选择需要的变量。


#将R语言自带鸢尾花数据集赋值给data
data <- iris
#查看前5行
head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
          5.1         3.5          1.4         0.2  setosa
          4.9         3.0          1.4         0.2  setosa
          4.7         3.2          1.3         0.2  setosa
          4.6         3.1          1.5         0.2  setosa
          5.0         3.6          1.4         0.2  setosa
          5.4         3.9          1.7         0.4  setosa
#选择第3到5的变量,即删除1到2的变量
data <- data[,c(3:5)]
#查看新的数据
head(data)
  Petal.Length Petal.Width Species
          1.4         0.2  setosa
          1.4         0.2  setosa
          1.3         0.2  setosa
          1.5         0.2  setosa
          1.4         0.2  setosa
          1.7         0.4  setosa
#生成一个包含变量名字的向量vars
vars <- c('Sepal.Width','Petal.Length')
#将R语言自带鸢尾花数据集赋值给data
data <- iris
#从data数据集选择包含vars内变量的数据
data <- data[vars]
#查看前5行
head(data)
  Sepal.Width Petal.Length
         3.5          1.4
         3.0          1.4
         3.2          1.3
         3.1          1.5
         3.6          1.4
         3.9          1.7
#将R语言自带鸢尾花数据集赋值给data
data <- iris
#使用%in%判断data内的变量名是否为Sepal.Length,是返回TRUE,否则返回FALSE。赋值给myvars
myvars <- names(data)%in%c('Sepal.Length')
#!myvars反向选择,生成不包含Sepal.Length变量的数据集newdata
newdata <- data[!myvars]
#查看前5行
head(newdata)
  Sepal.Width Petal.Length Petal.Width Species
         3.5          1.4         0.2  setosa
         3.0          1.4         0.2  setosa
         3.2          1.3         0.2  setosa
         3.1          1.5         0.2  setosa
         3.6          1.4         0.2  setosa
         3.9          1.7         0.4  setosa

包括对变量的值的修改和对变量的类型的修改。两者有时存在某些共变,如连续变量离散化就是为将连续变量类型转化为分类变量(因子)类型。

变量的值的修改(重编码)包括连续变量离散化、分类变量取值合并。

可以使用R中的一个或多个逻辑运算符重编码数据。逻辑运算符表达式返回TRUE或FALSE。

运算符 描述
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
!x 非x
x竖线y x或y
x&y x和y
isTRUE(x) 测试x是否为TRUE

x竖线y为x|y,本文章编码显示问题才用竖线代替|

变量修改的语法为variable[condition]<-expression

其中,variable为变量名,condition为条件,expression为赋值。

在condition的值为TRUE时执行赋值。

示例:


#首先生成一个数据框
age <- c(15,18,59,48,26,58,74,85,99,52)
sex <- c(1,2,1,2,1,1,1,2,2,1)
ship <- data.frame(age,sex)
ship
   age sex
   15   1
   18   2
   59   1
   48   2
   26   1
   58   1
   74   1
   85   2
   99   2
  52   1
#将年龄取值99视为缺失值NA
ship$age[ship$age==99] <- NA
#将年龄大于75的取值为Elder,赋值给agecat变量。
ship$agecat[ship$age>75] <- 'Elder'
#将年龄介于55-75之间的取值为Middle Aed,赋值给agecat变量。
ship$agecat[ship$age>=55 & ship$age<=75] <- 'Middle Aged'
#将年龄小于55的取值为Young,赋值给agecat变量。
ship$agecat[ship$age<55] <- 'Young'
ship
   age sex      agecat
   15   1       Young
   18   2       Young
   59   1 Middle Aged
   48   2       Young
   26   1       Young
   58   1 Middle Aged
   74   1 Middle Aged
   85   2       Elder
   NA   2        <NA>
  52   1       Young
#合并分类变量取值
#将agecat为Elder的取值为TRUE,赋值给isElder变量
ship$isElder[ship$agecat=='Elder'] <- TRUE
#将agecat不是Elder的取值为FALSE,赋值给isElder变量
ship$isElder[ship$agecat !='Elder'] <- FALSE
ship
   age sex      agecat isElder
   15   1       Young   FALSE
   18   2       Young   FALSE
   59   1 Middle Aged   FALSE
   48   2       Young   FALSE
   26   1       Young   FALSE
   58   1 Middle Aged   FALSE
   74   1 Middle Aged   FALSE
   85   2       Elder    TRUE
   NA   2        <NA>      NA
  52   1       Young   FALSE
判断 转换
is.numeric() as.numeric()
is.character() as.character()
is.factor() as.factor()

某些R函数需要指定数据集类型,as.datatype()函数可以使数据转换为所要求的的格式。

查看变量类型,使用上述表格中判断函数或str()函数。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: R语言变量级别的数据处理操作

本文链接: https://lsjlt.com/news/123842.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • R语言变量级别的数据处理操作
    变量级别的数据处理无非是对变量的增删改查。 增 即增加新的变量 R语言中,增加一个新变量形式语句如下: 变量名 <- 表达式 表达式可以包含多种运算符和函数。常见运算符包括: ...
    99+
    2024-04-02
  • R语言数据预处理操作——离散化(分箱)
    一、项目环境 开发工具:RStudio R:3.5.2 相关包:infotheo,discretization,smbinning,dplyr,sqldf 二、导入数据 # 这里...
    99+
    2024-04-02
  • R语言变量重编码、重命名的操作
    1、变量重编码 重编码涉及根据同一个变量和/或其他变量的现有值创建新值的过程,如将符合某个条件的值重新赋值等,这里主要介绍两种常见的方法: #第一种方法 per <- da...
    99+
    2024-04-02
  • 如何在R语言中实现数据预处理操作
    如何在R语言中实现数据预处理操作?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、项目环境开发工具:RStudioR:3.5.2相关包:infotheo,dis...
    99+
    2023-06-15
  • 怎么在R语言中实现数据预处理操作
    本篇文章给大家分享的是有关怎么在R语言中实现数据预处理操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、项目环境开发工具:RStudioR:3.5.2相关包:infothe...
    99+
    2023-06-08
  • R语言-修改(替换)因子变量的元素操作
    因子变量的核心是水平,通过指定水平来修改。 x<-c(1,1,1,1,2,2,2,3,3,3,3,4) xx<-factor(x);xx levels(xx) #得到...
    99+
    2024-04-02
  • R语言实现操作MySQL数据库
    用R语言做数据分析时,常常需要从多种数据源取数据,其中数据库是非常常见的数据源。用R操作MySQL数据库,可以说是数据分析师必备的技能了,本文介绍RMySQL包,可以在R语言中对数据...
    99+
    2024-04-02
  • R语言对Web数据操作实例
    许多网站提供数据供其用户使用。 例如,世界卫生组织(WHO)以CSV,txt和XML文件的形式提供健康和医疗信息的报告。 使用R语言程序,我们可以从这些网站以编程方式提取特定数据。 ...
    99+
    2024-04-02
  • R语言数据的输入和输出操作
    数据的载入 R本身已经提供了超过50个数据集,而在众多功能包中,默认的数据集被存放在datasets程序包中,通过函数data()k可以查看系统提供所有的数据包,同时可以通过函数li...
    99+
    2024-04-02
  • R语言之xlsx包读写Excel数据的操作
    感谢Adrian A. Drǎgulescu发布的xlsx包 xlsx包提供了必要的工具来与Excel 2007进行交互。用户可以阅读和编写xlsx,并可以通过设置数据格式、字体、颜...
    99+
    2024-04-02
  • R语言 ggplot2改变柱状图的顺序操作
    如下所示: library(ggplot2) library(ggthemes) dt = data.frame(obj = c('A','D','B','E','C'), va...
    99+
    2024-04-02
  • R语言-进行数据的重新编码(recode)操作
    在分析数据时我们经常会遇到将变量值转换成其他的值的情况(如:将连续变量转成分类变量)这时就需要我们对原有数据进行重新编码。本文将介绍R软件中常用的三种重编吗方法: 1、使用逻辑判断式...
    99+
    2024-04-02
  • r语言中怎么进行数据处理
    在R语言中进行数据处理时,常见的操作包括数据清洗、数据转换、数据筛选、数据聚合、数据可视化等。以下是一些常用的数据处理操作: 数据...
    99+
    2024-03-02
    r语言
  • R语言求一行(列表、list)数据的平均数操作
    R语言求一个列表的平均数可以使用mean() : mean英文意思有平均数的含义 x=c(1,3,5,7,9) max(x) #这样即可求得平均数为 : 5 假如读取过一个cs...
    99+
    2024-04-02
  • R语言对数据库进行操作的实例详解
    数据是关系数据库系统以规范化格式存储。 因此,要进行统计计算,我们将需要非常先进和复杂的Sql查询。 但R语言可以轻松地连接到许多关系数据库,如MySql,Oracle,Sql服务器...
    99+
    2024-04-02
  • R语言-计算频数和频率的操作
    首先,筛选出需要的列: data <- data2[,which(colnames(data2) %in% c("产品分类", "期数", "逾期月数"))] ...
    99+
    2024-04-02
  • R语言与Go语言在大数据处理中的性能比较
    R语言与Go语言在大数据处理中的性能比较 随着数据量的不断增加,大数据处理的需求也愈发迫切。在大数据处理中,选择合适的编程语言对于提高处理效率至关重要。本文将比较R语言和Go语言在大数...
    99+
    2024-04-02
  • R语言因子型数值转数值型的操作
    一直觉得只要是数字,不管是什么类型的,都可以通过as.numeric()函数转换为对应的numeric类型的数字,例如 x<-“123”,x为character类型,而as.n...
    99+
    2024-04-02
  • R语言glmnet包lasso回归中分类变量的处理图文详解
    我们在既往文章《手把手教你使用R语言做LASSO 回归》中介绍了glmnet包进行lasso回归,后台不少粉丝发信息向我问到分类变量处理的问题,我后面查了一下资料之前文章分类变量没有...
    99+
    2022-11-13
    r语言lasso回归筛选变量 r语言glmnet包lasso lasso回归 R语言
  • ASP 操作筛选器的变革性力量:数据处理的革命
    ASP 操作筛选器:数据处理的革命性力量 ASP 操作筛选器是 ASP.NET Core 中引入的一项强大功能,旨在显著提高数据查询和筛选性能。它提供了一种简便且高效的方式来筛选集合和查询数据源,从而优化数据处理过程。 操作筛选器的原理...
    99+
    2024-02-15
    ASP.NET 操作筛选器 LINQ 数据查询 性能优化
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作