美文网首页
初识R语言—重命名和数据组合

初识R语言—重命名和数据组合

作者: 超级无敌大蜗牛 | 来源:发表于2020-04-02 18:30 被阅读0次

重命名

  • names
    R自带
    使用后直接修改源数据
语法:names(dataframe)[index]
              数据框, 索引号(第几列)
> data
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

> names(data)[1] <- "test"
> data
                  test cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
  • rename
    reshape包
    不修改源数据
##语法: rename(dataframe, c(oldname="newname"))
library(reshape)
rename(data, c(mpg="newmpg")
##原来数据data的列名并没有发生改变,如果想要将修改的列名保存到data,做下列操作:
data <- rename(data, c(mpg="newmpg")

数据组合

1.paste函数
paste(v1,v2,sep="")
拼接对象是向量

v1 <- c(10,20,30)
v2 <- "g"
v <- paste(v1,v2, sep="")

2.rbind(df1,df2)行合并
cbind(df1,df2)列合并

3.merge按共有变量进行合并(匹配)
merge(x,y,by=intersect(names(x),names(y)),by.x=by, by.y=y, all =FALSE, all.x=FALSE,all.y=FALSE,...)

> df1
  ID1 gender
1 101      F
2 102      M
3 109      M
4 100      F
> df2
  ID2 math Chinese
1 101   89      56
2 102   56      78
3 106   43      90

> ##公有的变量(组合键)名称不一样的做法
> df <- merge(df1,df2,by.x = "ID1",by.y = "ID2")
> df
  ID1 gender math Chinese
1 101      F   89      56
2 102      M   56      78

> ##公有的变量名称一样的做法
> a <- rename(df1,c(ID1="ID")) ##先把df1和df2的第一列名称搞成一样
> a
   ID gender
1 101      F
2 102      M
3 109      M
4 100      F
> b <- rename(df2,c(ID2="ID"))##先把df1和df2的第一列名称搞成一样
> b
   ID math Chinese
1 101   89      56
2 102   56      78
3 106   43      90
> df <- merge(a,b,by="ID")
> df
   ID gender math Chinese
1 101      F   89      56
2 102      M   56      78

##希望呈现的结果
##1、第一个数据a的数据全部保留,第二个数据b只保留与a匹配的数据,其余均排除掉,以NA呈现
> df <- merge(a,b,by="ID",all.x = T)
> df
   ID gender math Chinese
1 100      F   NA      NA
2 101      F   89      56
3 102      M   56      78
4 109      M   NA      NA

##2、b的数据全部保留,a只保留与b匹配的数据,其余均排除,以NA呈现
> df <- merge(a,b,by="ID",all.y = T)
> df
   ID gender math Chinese
1 101      F   89      56
2 102      M   56      78
3 106   <NA>   43      90

##3、a、b的数据全部保留,无法匹配的项以NA呈现
> df <- merge(a,b,by="ID",all = T)
> df
   ID gender math Chinese
1 100      F   NA      NA
2 101      F   89      56
3 102      M   56      78
4 106   <NA>   43      90
5 109      M   NA      NA

相关文章

  • 初识R语言—重命名和数据组合

    重命名 namesR自带使用后直接修改源数据 renamereshape包不修改源数据 数据组合 1.paste函...

  • R中实现行列的重命名

    reference:《数据科学:R语言实现》——3.2重命名数据变量 https://yq.aliyun.com/...

  • Day4 —刘强

    初识R语言 What's R? R是一种编程语言,提供了统计计算和绘图的环境。可调用许多函数,从而提供强大的数据处...

  • R 中对行列重命名,非批处理

    转载自:《数据科学:R语言实现》——3.2重命名数据变量 https://yq.aliyun.com/articl...

  • 初识R语言

    学什么语言都得从input和output开始学习的,r语言也不例外,同时语言编译并不复杂。 接下来,我们首先在相应...

  • 初识R语言

    第二十章 唯之与阿,相去几何?美之与恶,相去若何?人之所畏,不可不畏。荒兮,其未央哉!众人熙熙,如享太牢,如春登台...

  • 初识R语言

    R 语言是什么? R 语言是一个专门为“统计”而开发出来的一个计算机编程语言,它是一种解释型的面向数学理论研究工作...

  • 《学习小组Day4-初识R语言-刘沛东》

    初识R语言,学会下载安装R和Rstudio,简单掌握R中几个命令Stay hungry. Stay foolish...

  • 学习小组day4笔记--lee

    认识R语言 初识R语言原创: 豆豆花花 [生信星球] R语言及R studio 安装 这个安装老费劲了,安装成功后...

  • R语言--高效操作数据框(dplyr包)(2)

    本文是R语言--高效操作数据框(dplyr包)系列的第二篇,介绍了列重命名、行筛选、行排序、行去重、数据合并等常见...

网友评论

      本文标题:初识R语言—重命名和数据组合

      本文链接:https://www.haomeiwen.com/subject/droxphtx.html