精华内容
下载资源
问答
  • R语言数据合并一行代码搞定

    万次阅读 2019-01-30 14:24:38
    数据的合并 需要的函数 cbind(),rbind(),bind_rows() 准备数据 ​ 我们先构造组数据,以便下面的演示 > data1<-data.frame( + namea=c("海波&...

    数据的合并

    需要的函数

    cbind(),rbind(),bind_rows(),merge()
    

    准备数据

    ​ 我们先构造一组数据,以便下面的演示

    > data1<-data.frame(
    +   namea=c("海波","立波","秀波"),
    +   value=c("一波","接","一波")
    + )
    > data1
      namea value
    1  海波  一波
    2  立波    接
    3  秀波  一波
    > data2<-data.frame(
    +   nameb=c("柯震东","刘强东","何盛东"),
    +   value=c("东去","又","东来")
    + )
    > data2
       nameb value
    1 柯震东  东去
    2 刘强东    又
    3 何盛东  东来
    

    按列合并

    > cbind(data1,data2)
      namea value  nameb value
    1  海波  一波 柯震东  东去
    2  立波    接 刘强东    又
    3  秀波  一波 何盛东  东来
    

    按行合并

    ​ 按列合并是cbind(),那么按行合并自然是rbind()

    > rbind(data1,data2)
    Error in match.names(clabs, names(xi)) : 名字同原来已有的名字不相对
    

    出现了错误,这是因为”namea“ 和”nameb“不同造成的,如果都为"namea" :

    > data1<-data.frame(
    +   namea=c("海波","立波","秀波"),
    +   value=c("一波","接","一波")
    + )
    > data1
      namea value
    1  海波  一波
    2  立波    接
    3  秀波  一波
    > data2<-data.frame(
    +   namea=c("柯震东","刘强东","何盛东"),
    +   value=c("东去","又","东来")
    + )
    > data2
       namea value
    1 柯震东  东去
    2 刘强东    又
    3 何盛东  东来
    > #cbind(data1,data2)
    > rbind(data1,data2)
       namea value
    1   海波  一波
    2   立波    接
    3   秀波  一波
    4 柯震东  东去
    5 刘强东    又
    6 何盛东  东来
    

    对数据修改后,没有出现错误。如果 不修改数据该怎么做:

    ​ 为了解决这个问题,使用dplyr包中的bind_rows()函数,不要求合并字段的名称必须相同,这个函数会自己做判断。

    > library(dplyr)
    > dplyr::bind_rows(data1,data2)
      namea value  nameb
    1  海波  一波   <NA>
    2  立波    接   <NA>
    3  秀波  一波   <NA>
    4  <NA>  东去 柯震东
    5  <NA>    又 刘强东
    6  <NA>  东来 何盛东
    

    merge()

    merge(x, y, by = intersect(names(x), names(y)),
          by.x = by, by.y = by, all = FALSE, 
          all.x = all, all.y = all,
          sort = TRUE, suffixes = c(".x",".y"),
          incomparables = NULL, ...)
    

    merge函数参数的说明:

    x,y:用于合并的两个数据框
    
    by,by.x,by.y:指定依据哪些行合并数据框,默认值为相同列名的列.
    
    all,all.x,all.y:指定x和y的行是否应该全在输出文件.
    
    sort:by指定的列是否要排序.
    
    suffixes:指定除by外相同列名的后缀.
    
    incomparables:指定by中哪些单元不进行合并.
    

    演示merge()

    data3<-data.frame(
      name = c("波","东","波","波"),
      type = c("秀","震","秀","秀"),
      class = c(10,5,4,11),
      num = c(85,50,90,90)
    );data3
    data4<-data_frame(
      name = c("波","东"),
      type = c("海","震"),
      class = c(5,5),
      num = c(88,81)
    );data4
    
    #合并data3和data4
    > merge(data3,data4,all =T)
      name type class num
    1   波   秀     4  90
    2   波   秀    10  85
    3   波   秀    11  90
    4   波   海     5  88
    5   东   震     5  50
    6   东   震     5  81
    
    
    #按照name,type,class合并data3.data4
    > merge(data3, data4, by =c("name","type","class") , all = T)
      name type class num.x num.y
    1   波   秀     4    90    NA
    2   波   秀    10    85    NA
    3   波   秀    11    90    NA
    4   波   海     5    NA    88
    5   东   震     5    50    81
    

    欢迎关注
    在这里插入图片描述

    展开全文
  • 行合并两行 或 多行 合并 一行

    千次阅读 2019-05-29 10:04:28
    目的: 解决: SELECT 类别, GROUP_CONCAT( 名称 ) AS 名称 FROM 表名 GROUP BY 类别 实战: 表: sql: SELECT student_id, GROUP_CONCAT( clazz_code ) AS clazz_code ...GRO...

    目的:

     

    解决:

    SELECT    类别,    GROUP_CONCAT( 名称 ) AS 名称 FROM    表名  GROUP BY     类别

     

    实战:

    表:

    sql:

    SELECT
    	student_id,
    	GROUP_CONCAT( clazz_code ) AS clazz_code 
    FROM
    	edu_student_record 
    GROUP BY
    	student_id

    结果:

    以上。

    展开全文
  • ![图片说明]... 在R中怎么把相同行名的行合并为一行,并对其求平均值 这是我的数据,怎么把行名相同的3、4行,5、6行,8、9、10行找出来,并取平均值呢
  • R语言行/列合并

    千次阅读 2020-06-28 22:28:34
    个命令是do.call(rbind, dfs)和do.call(cbind, dfs)的代替,使用起来更有效率。 one <- starwars[1:4, ] two <- starwars[9:12, ] bind_rows(one, two) bind_rows(list(one, two)) # a list of ...

    bind_rows & bind_cols

    这两个命令是do.call(rbind, dfs)do.call(cbind, dfs)的代替,使用起来更有效率。

    one <- starwars[1:4, ]
    two <- starwars[9:12, ]
    
    bind_rows(one, two)
    bind_rows(list(one, two)) # a list of dataframes
    bind_rows(list(one, two), list(two, one))
    bind_rows(split(starwars, starwars$homeworld))
    

    其中split(starwars, starwars$homeworld)得到的是一个list的dataframes,每个list元素中包含的dataframes数量不同,根据homeworld进行了split。

    输入也可以是vecotr

    bind_rows(
      c(a = 1, b = 2),
      c(a = 3, b = 4)
    )
    
    bind_rows(
      c(a = 1, b = 2),
      tibble(a = 3:4, b = 5:6),
      c(a = 7, b = 8)
    )
    

    可以设置.id参数用于区分dataframe来源

    bind_rows(list(one, two), .id = "id")
    bind_rows(list(a = one, b = two), .id = "id")
    bind_rows("group 1" = one, "group 2" = two, .id = "groups")
    

    bind_colsbind_rows简单,不需要考虑匹配问题。

    展开全文
  • R语言数据合并

    万次阅读 2019-07-09 11:08:51
    R语言数据合并:ID关联合并、横向合并、纵向合并,数据框的字段合并,使用sqldf包、merge/paste/rbind/cbind进行操作。

    用向量创建数据框

    在这里插入图片描述

    id<-c("1","2","3","4")
    name<-c("谈天","轻衣","晓光","余白")
    is.vector(name)
    data00=data.frame(id,name)
    str(data00)
    head(data00)
    

    创建第二个数据框

    id<-c("5","6","7","8")
    name<-c("青梅","王五","不二","七杀")
    is.vector(name)
    data11=data.frame(id,name)
    str(data11)
    head(data11)
    

    在这里插入图片描述

    纵向合并数据框data00和data11

    在这里插入图片描述

    mdata<-rbind(data00,data11)
    head(mdata)
    

    其它纵向数据框合并

    使用dplyr包中的bind_rows()函数进行合并

    library(dplyr)
    dplyr::bind_rows(data00,data11)
    

    字段连接横向合并(id和name合并成新字段)

    在这里插入图片描述

    data00$合并=paste(data00$id,data00$name,data00$合并, sep = "")
    head(data00)
    

    数据字段框的横向合并(通过相同的元素,横向合并)

    字段数数据框的横向id关联合并data11和data33合并,有相同的id,进行合并
    在这里插入图片描述在这里插入图片描述

    方法一:merge函数
    merge(x, y, by = intersect(names(x), names(y)),
          by.x = by, by.y = by, all = FALSE, 
          all.x = all, all.y = all,
          sort = TRUE, suffixes = c(".x",".y"),
          incomparables = NULL, ...)
    
    参数说明:
    x,y:用于合并的两个数据框
    
    by,by.x,by.y:指定依据哪些行合并数据框,默认值为相同列名的列.
    
    all,all.x,all.y:指定x和y的行是否应该全在输出文件.
    
    sort:by指定的列是否要排序.
    
    suffixes:指定除by外相同列名的后缀.
    
    incomparables:指定by中哪些单元不进行合并.
    

    例如:

    hdata<-merge(data11,data33,by=id)
    head(hdata)
    

    在这里插入图片描述

    hdata212<-merge(data11,data00,all =T)
    head(hdata212)
    

    在这里插入图片描述

    方法二:cbind函数
    hdata2<-cbind(data11,data33)
    head(hdata2)
    

    在这里插入图片描述

    数据终极合并:SQL的使用

    library(sqldf)
    
    data=sqldf("select * from data1 t1,data2 t2 where t1.id=t2.id")
    

    案例参考https://blog.csdn.net/tandelin/article/details/100580996

    展开全文
  • 参考书《R语言实战(第2版)》建议大家购买正版图书学习昨天的内容有点遗漏,我补充在这里#导入数据时,如果用到JAVA相关的包,记得先加载rjava包> library(xlsx)> library(rJava)> workbook "D:/XXX/...
  • 看到篇文章,裴帅帅:Python使用9代码批量合并Excel文件​zhuanlan.zhihu.com咱们R语言也不能落后啊,5代码批量合并Excel文件,再多做一步:增加文件来源列。说是5代码,其实核心代码只有2。另外,本篇和...
  • R语言数据集合并、数据增减、不等长合并

    万次阅读 多人点赞 2016-02-16 21:51:40
    、数据合并 1、merge()函数 最常用merge()函数,但是这个函数使用时候这种情况需要注意: 1、merge(a,b),纯粹地把个数据集合在一起,没有沟通a、b数据集的by,这样出现的数据很多,相当于a*b条数据; 2、...
  • R语言 用cbind合并两列数据

    千次阅读 2019-04-04 21:56:11
    我有个数据文件,分别只有一列,这两列数据行数一行,我想把这两列合并到一个数据文件中,方便使用。我的个数据文件分别是1.txt,2.txt,保存后的文件名是3.txt。 // 代码如下 gow1<-read.table("1.txt",...
  • 但是竟然只有会员才能享有这个功能,而且个月的会员就要79元RMB, 作为个还在上学的学生,我没有这么多零花钱买会员,唉,只能自己动手丰衣足食了,仔细在网上找了找,发现R里面有R包可以用来合并Pdf, 完美...
  • 复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言数据高效...
  • 每个矩阵的第列提取出来,纵向合并个新的矩阵 每个矩阵的第二列提取出来,纵向合并个新的矩阵 每个矩阵的第三列提取出来,纵向合并个新的矩阵 我就想到这,不会了。。。 sapply(list_X, function(x) x...
  • <p style="text-align:center"><img alt="" height="521" src="https://img-ask.csdnimg.cn/upload/1614127773435.png" width="716" /></p> ...将104,232,321这几个plot分别合并为一行,species要汇总</p>
  • R 语言的表格合并(实际运用)

    千次阅读 2021-02-07 11:19:28
    R语言的表格合并(实际运用) 是这样的,工作中我需要处理个表格。要把个表格合并,展示下个表格的 部分数据和格式。 我需要做的是把个表合并,变成3列,日期,男,女。需求就是这个, 观察下,这边有的...
  • R语言数据集的合并

    千次阅读 2020-02-16 10:03:20
    R语言数据集的合并 如果数据分散在不同的集合中,则在处理数据之前需要对其进行合并,下面分成向数据框中添加和列来分别进行展示: 数据框加入列。使用merge()函数,这时个数据框通常是根据个或者多个共同的...
  • R语言中的数据框合并

    千次阅读 2016-04-18 20:10:09
    #个数据框有相同和不同列----合并 ID name score student1 student2 total_student1 total_student1 #横向追加----个数据框不同列 ID name score sex student1 student2 total_student2 total_student2
  • R语言批量读取txt文件并合并

    千次阅读 2021-03-28 10:25:03
    在处理数据过程中,我们往往会将单独的数据合并到一起做进一步分析,R语言仅需步,可以轻松实现(替代 打开文本–复制粘贴—吐血) setwd("E:/Rstation/test2") library(tidyverse) library(readxl) library...
  • R语言dplyr包数据集拼接合并

    千次阅读 2020-06-27 19:11:50
    R语言dplyr包常用拼接合并函数有inner_join()、left_join()、right_join()、full_join()以及bind_rows()、bind_cols() inner_join inner_join是内连接的方式,选用的是的连接方式.这种方式拼接简单,但如果某个...
  • R语言基础之数据集合并

    万次阅读 2017-03-29 14:36:46
    R语言合并主要用到的有rbind cbind merge join paste cat等 rbind主要是行合并,把向量、矩阵或有相同变量的数据框给摞在一起,增加样本量。 当个向量用rbind合并时: 例:  a  [1] 1  b  [1] 1 2 3 ...
  • 实际操作中,我们经常需要引入其他表中的列,即将其他表中列加入到表中,需要把个或者更多的表合并成一个,R语言中有几种常用的几个合并函数。这里主要介绍merge()函数、data.table包以及dplyr包中的合并数据方法...
  • 原创 小浣熊 科研猫 今天是我们的系统教程《R语言从入门到精通》的第讲,前面的背景讲解中《从今天开始,每天学点R语言~》,已经深入探讨过R语言的重要性以及学习R语言的必要性,今天我们就按照课表来讲解:如何在...
  • R语言笔记-数据框的合并

    千次阅读 2020-10-18 23:03:20
    rbind(数据框1,数据框2):合并数据框1、2的所有 要求合并的数据框必须有相同的变量 常用于合并个案 合并变量:cbind() cbind(数据框1,数据框2):合并数据框1、2的所有列 要求合并的数据框必须有相同的个案 常...
  • R语言 合并两列不等长的数据

    万次阅读 2018-03-07 10:07:37
    x4 > arima_x4 V1 1 1719699933 2 690750416 3 222341754 4 528385023 5 358626397 6 360592943 7 451968758 8 26701786 9 918219142 个数据框格式的数据集,个有10个数,个有9个数。 使用plyr包里面的rbind....
  • 分享的目的在于让有需要的人知道还有这么个东西可以用因为在学校机关部门工作经常需要汇总各学院数据几十个Excel表需要汇总成个靠复制粘贴...下边分享的这个多个Excel文件快速合并个的方法原料段代码(先别慌...
  • 学习打卡100天 Day2 2020.3.8 R语言数据整理相关知识 数据合并 ...函数merge( )适用于合并含有共同的或者列的个数据集,其函数的基本书写格式: merge(x, y, by=intersect(names(x), names(y)),b...
  • 合并两个向量是使用 merge() 函数 > x (姓名1 = c("张三", "李四", "王五"), 身高 = c(171, 172, 173)) > x 姓名1 身高 1 张三 171 2 李四 172 3 王五 173 > y (姓名2 = c("张三", "李四", "王五"), 体重 = c(50,...
  • R语言合并CSV格式数据失败的解决经验 失败过程(R初学者的泪):将现有的个数据集转为CSV格式后,进行合并。由于合并变量“ID” “year”在个数据集中大小写不同,为了统一变量名,我就打开csv进行修改并保存...
  • 合并数据框有重复匹配时通常会返回所有的匹配,如何只保留匹配的第一行呢?其实这个需求也很常见。如芯片探针ID和基因ID往往多对一,要合并ID对应矩阵和芯片表达矩阵时。 数据例子 data = data.frame(id = c(1,2,3,4...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,866
精华内容 22,746
关键字:

r语言两行合并为一行