返回顶部
首页 > 资讯 > 精选 >R语言数据重塑知识点有哪些
  • 475
分享到

R语言数据重塑知识点有哪些

2023-06-14 08:06:41 475人浏览 独家记忆
摘要

这篇文章给大家分享的是有关R语言数据重塑知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。R 语言中的数据重塑是关于改变数据被组织成行和列的方式。 大多数时间 R 语言中的数据处理是通过将输入数据作为数据

这篇文章给大家分享的是有关R语言数据重塑知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

R 语言中的数据重塑是关于改变数据被组织成行和列的方式。 大多数时间 R 语言中的数据处理是通过将输入数据作为数据帧来完成的。 很容易从数据帧的行和列中提取数据,但是在某些情况下,我们需要的数据帧格式与我们接收数据帧的格式不同。 R 语言具有许多功能,在数据帧中拆分,合并和将行更改为列,反之亦然。

于数据帧中加入列和行

我们可以使用 cbind() 函数连接多个向量来创建数据帧。 此外,我们可以使用 rbind() 函数合并两个数据帧。

# Create vector objects.city <- c("Tampa","Seattle","Hartford","Denver")state <- c("FL","WA","CT","CO")zipcode <- c(33602,98104,06161,80294)# Combine above three vectors into one data frame.addresses <- cbind(city,state,zipcode)# Print a header.cat("# # # # The First data frame") # Print the data frame.print(addresses)# Create another data frame with similar columnsnew.address <- data.frame(  city = c("Lowry","Charlotte"),  state = c("CO","FL"),  zipcode = c("80230","33949"),  stringsAsFactors = FALSE)# Print a header.cat("# # # The Second data frame") # Print the data frame.print(new.address)# Combine rows fORM both the data frames.all.addresses <- rbind(addresses,new.address)# Print a header.cat("# # # The combined data frame") # Print the result.print(all.addresses)

当我们执行上面的代码,它产生以下结果 -

# # # # The First data frame   city    state zipcode[1,] "Tampa"  "FL" "33602"[2,] "Seattle" "WA" "98104"[3,] "Hartford" "CT"  "6161" [4,] "Denver"  "CO" "80294"# # # The Second data frame    city    state  zipcode1   Lowry   CO   802302   Charlotte FL   33949# # # The combined data frame    city   state zipcode1   Tampa   FL  336022   Seattle  WA  981043   Hartford CT   61614   Denver  CO  802945   Lowry   CO  802306   Charlotte FL  33949

合并数据帧

我们可以使用 merge() 函数合并两个数据帧。 数据帧必须具有相同的列名称,在其上进行合并。

在下面的例子中,我们考虑 library 名称“MASS”中有关 Pima Indian Women 的糖尿病的数据集。 我们基于血压(“bp”)和体重指数(“bmi”)的值合并两个数据集。 在选择这两列用于合并时,其中这两个变量的值在两个数据集中匹配的记录被组合在一起以形成单个数据帧。

library(MASS)merged.Pima <- merge(x = Pima.te, y = Pima.tr,  by.x = c("bp", "bmi"),  by.y = c("bp", "bmi"))print(merged.Pima)nrow(merged.Pima)

当我们执行上面的代码,它产生以下结果 -

  bp bmi npreg.x glu.x skin.x ped.x age.x type.x npreg.y glu.y skin.y ped.y1 60 33.8    1  117   23 0.466  27   No    2  125   20 0.0882 64 29.7    2  75   24 0.370  33   No    2  100   23 0.3683 64 31.2    5  189   33 0.583  29  Yes    3  158   13 0.2954 64 33.2    4  117   27 0.230  24   No    1  96   27 0.2895 66 38.1    3  115   39 0.150  28   No    1  114   36 0.2896 68 38.5    2  100   25 0.324  26   No    7  129   49 0.4397 70 27.4    1  116   28 0.204  21   No    0  124   20 0.2548 70 33.1    4  91   32 0.446  22   No    9  123   44 0.3749 70 35.4    9  124   33 0.282  34   No    6  134   23 0.54210 72 25.6    1  157   21 0.123  24   No    4  99   17 0.29411 72 37.7    5  95   33 0.370  27   No    6  103   32 0.32412 74 25.9    9  134   33 0.460  81   No    8  126   38 0.16213 74 25.9    1  95   21 0.673  36   No    8  126   38 0.16214 78 27.6    5  88   30 0.258  37   No    6  125   31 0.56515 78 27.6   10  122   31 0.512  45   No    6  125   31 0.56516 78 39.4    2  112   50 0.175  24   No    4  112   40 0.23617 88 34.5    1  117   24 0.403  40  Yes    4  127   11 0.598  age.y type.y1   31   No2   21   No3   24   No4   21   No5   21   No6   43  Yes7   36  Yes8   40   No9   29  Yes10  28   No11  55   No12  39   No13  39   No14  49  Yes15  49  Yes16  38   No17  28   No[1] 17

有时,电子表格数据的格式很紧凑,可以给出每个主题的协变量,然后是该主题的所有观测值。 R的建模功能需要在单个列中进行观察。 考虑以下来自重复MRI脑测量的数据样本

 Status  Age  V1   V2   V3  V4   P 23646 45190 50333 55166 56271   CC 26174 35535 38227 37911 41184   CC 27723 25691 25712 26144 26398   CC 27193 30949 29693 29754 30772   CC 24370 50542 51966 54341 54273   CC 28359 58591 58803 59435 61292   CC 25136 45801 45389 47197 47126

在每个主题上有两个协变量和多达四个测量值。 数据从 excel 导出为 mr.csv 文件。

我们可以使用堆栈来帮助操纵这些数据以给出单个响应。

zz <- read.csv("mr.csv", strip.white = TRUE)zzz <- cbind(zz[gl(nrow(zz), 1, 4*nrow(zz)), 1:2], stack(zz[, 3:6]))

结果为:

   Status  Age values indX1     P 23646 45190 V1X2    CC 26174 35535 V1X3    CC 27723 25691 V1X4    CC 27193 30949 V1X5    CC 24370 50542 V1X6    CC 28359 58591 V1X7    CC 25136 45801 V1X11    P 23646 50333 V2...

函数unstack的方向相反,可能对导出数据很有用。

另一种方法是使用函数重塑

> reshape(zz, idvar="id",timevar="var", varying=list(c("V1","V2","V3","V4")),direction="long")  Status  Age var  V1 id1.1   P 23646  1 45190 12.1   CC 26174  1 35535 23.1   CC 27723  1 25691 34.1   CC 27193  1 30949 45.1   CC 24370  1 50542 56.1   CC 28359  1 58591 67.1   CC 25136  1 45801 71.2   P 23646  2 50333 12.2   CC 26174  2 38227 2...

重塑函数的语法比堆栈更复杂,但可以用于“long”表单中不止一列的数据。如果方向=“宽”,重塑还可以执行相反的转换。

感谢各位的阅读!关于“R语言数据重塑知识点有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: R语言数据重塑知识点有哪些

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

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

猜你喜欢
  • R语言数据重塑知识点有哪些
    这篇文章给大家分享的是有关R语言数据重塑知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。R 语言中的数据重塑是关于改变数据被组织成行和列的方式。 大多数时间 R 语言中的数据处理是通过将输入数据作为数据...
    99+
    2023-06-14
  • R语言数据重塑知识点总结
    R 语言中的数据重塑是关于改变数据被组织成行和列的方式。 大多数时间 R 语言中的数据处理是通过将输入数据作为数据帧来完成的。 很容易从数据帧的行和列中提取数据,但是在某些情况下,我...
    99+
    2024-04-02
  • R语言属性知识点有哪些
    这篇文章主要介绍了R语言属性知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。属性(attribute):R中对象具备的特性特性描述了所代表的内容以及R解释该对象的方...
    99+
    2023-06-14
  • R语言中字符串有哪些知识点
    这篇文章主要介绍了R语言中字符串有哪些知识点,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在R语言中的单引号或双引号对中写入的任何值都被视为字符串。 R语言存储的每个字符串都...
    99+
    2023-06-14
  • R语言中Rcpp基础知识点有哪些
    这篇文章将为大家详细讲解有关R语言中Rcpp基础知识点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 相关配置和说明由于Dirk的书Seamless R and C++ Integration ...
    99+
    2023-06-25
  • R语言中基本语法的知识点有哪些
    这篇文章主要介绍R语言中基本语法的知识点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们将开始学习R语言编程,首先编写一个“你好,世界! 的程序。 根据需要,您可以在R语言命令提示符处编程,也可以使用R语言脚...
    99+
    2023-06-14
  • R语言时间序列的知识点有哪些
    这篇文章给大家分享的是有关R语言时间序列的知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。时间序列对象:变量随着时间变化时间序列的回归函数(例如ar或arima)通常以时间序列作为参数许多绘图函数都有针...
    99+
    2023-06-14
  • R语言中循环的相关知识点有哪些
    这篇文章主要介绍“R语言中循环的相关知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“R语言中循环的相关知识点有哪些”文章能帮助大家解决问题。repeatrepeat是最存粹的循环,只要不让...
    99+
    2023-07-05
  • R语言数据类型知识点总结
    通常,在使用任何编程语言进行编程时,您需要使用各种变量来存储各种信息。 变量只是保留值的存储位置。 这意味着,当你创建一个变量,你必须在内存中保留一些空间来存储它们。 您可能想存储各...
    99+
    2024-04-02
  • C编程语言的重要知识点有哪些
    本篇内容介绍了“C编程语言的重要知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在C语言中,您可以在类型转换中,运算符内部,函数声...
    99+
    2023-06-16
  • C语言函数的知识点有哪些
    这篇文章主要介绍“C语言函数的知识点有哪些”,在日常操作中,相信很多人在C语言函数的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言函数的知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-30
  • Verilog语言数据类型基础知识点有哪些
    这篇文章主要介绍“Verilog语言数据类型基础知识点有哪些”,在日常操作中,相信很多人在Verilog语言数据类型基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Verilog语言数据类型基础...
    99+
    2023-07-06
  • R语言基本语法知识点
    我们将开始学习R语言编程,首先编写一个“你好,世界! 的程序。 根据需要,您可以在R语言命令提示符处编程,也可以使用R语言脚本文件编写程序。让我们逐个体验不同之处。 命令提示符 如...
    99+
    2024-04-02
  • R语言关于数据帧的知识点详解
    数据帧是表或二维阵列状结构,其中每一列包含一个变量的值,并且每一行包含来自每一列的一组值。 以下是数据帧的特性。 列名称应为非空。 行名称应该是唯一的。 存...
    99+
    2024-04-02
  • DevOps重点知识有哪些
    本篇内容介绍了“DevOps重点知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 部署频率开发...
    99+
    2024-04-02
  • Go语言基础知识点有哪些
    这篇文章主要介绍Go语言基础知识点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Go 语言教程Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Gries...
    99+
    2023-06-20
  • R语言关于多重回归知识点总结
    多元回归是线性回归到两个以上变量之间的关系的延伸。 在简单线性关系中,我们有一个预测变量和一个响应变量,但在多元回归中,我们有多个预测变量和一个响应变量。 多元回归的一般数学方程为 ...
    99+
    2024-04-02
  • R语言函数基础知识点总结
    函数是一组组合在一起以执行特定任务的语句。 R 语言具有大量内置函数,用户可以创建自己的函数。 在R语言中,函数是一个对象,因此R语言解释器能够将控制传递给函数,以及函数完...
    99+
    2024-04-02
  • R语言“循环”知识点详解
    可能有一种情况,当你需要执行一段代码几次。 通常,顺序执行语句。 首先执行函数中的第一个语句,然后执行第二个语句,依此类推。 编程语言提供允许更复杂的执行路径的各种控制结构。 循环语...
    99+
    2024-04-02
  • R语言符号知识点汇总
    符号 当在R中定义一个变量时,实际上就是在环境中将一个符号赋给一个值 x <- 1 实际上就是在全局环境中将符号x赋给一个长度为1,值为1的向量对象 当R解释器对表达式求...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作