r 提取列形成新数据框_R数据整理

 数据统计分析的前奏--数据整理       导入R studio中的数据文件是以数据框(data.frame)形式呈现的,通俗理解的话,数据框就是常说的表格,数据框具有行和列的二维结构,每一列长度相等,同一列的数据类型一致(R中常见的三种数据类型为:数值型numeric,字符型character,逻辑型logical),不同的列的数据类型可以不一样 [1] 。       现就数据整理的练习做个笔记。首先进行数据导入,数据导入有多种方式,详见笔者上一篇推文 R数据读取和保存 。首先打开R studio,键入read.csv()命令,再通过file.choose()调出复选框,通过文件目录选择导入的文件。
#导入数据,这里是通过选择文件file.choose()导入csv格式的数据文件。mydata 
faaa590e2081d1a2658e4cdb2fa19bcd.png *数据较大,这里只能通过截图呈现部分数据。 1 查看数据
#查看数据前6行head(mydata)

07741c40aa66005bb18f01df2a58ce0e.png

#查看全部数据print(mydata)

88d59bda32b2c16b42e6f28acd07e3ed.png

             当然,还有最简单的办法就是在R studio中的Environment中找到mydata直接点击,这样数据就可以直接显示在R studio中左上角部分。       想要对数据结构有个整体了解,可以通过str()进行查看。
#查看数据结构str(mydata)

4888207df67aa2607249c53d0094268d.png

好了,数据已经导入,下面开始对数据进行一些简单常用的操作。      2 重命名        这里mydata中第9、10、11列的列名太长,通过colnames对它进行重命名。        也可以对mydata数据框所有列进行重命名,colnames "year","nit","pat","rep","LER","MO","CO","IMY","CCAG","COG","MAG","TND")
# 重命名9、10、11列的列名colnames(mydata)[9:11] "CCAG",

473217fdbdd2e5741f4c3abc4a9251dc.png

3 增删行列
# 删除第3列,可以看到pattern列没有了mydata[,-3]
8d89319e7c751e3e0d8e2cffb2e05e49.png
# 删除第3行数据mydata[-3,]

6a5beba5b1d641eba5f35e93a00667d6.png

             实际上,[]中的-号去除后的反向操作是提取这些数据要素,我们可以看一下效果。
# 提取第3行mydata[3,]

2a4e3a81820583c66793d88c8c3b9dab.png

# 提取第3列mydata[,3]

c2eb9d9bbe1a601640958a3efec7105e.png

# 提取1到3行的数据mydata[1:3,]

59f51d3f683626c26f15243eb278677e.png

# 提取1到3列的数据mydata[,1:3]

baec22258355ea92d04b765747d9fda3.png

      下面是增加列或者行,最基本的增加1列,可以通过创建新的列变量,然后再创建新的数据框,将新变量加入。如,创建新列New 需要注意的是要保证创建的新列长度与mydata列长度一致。
# 创建新的列New # 创建新的数据框mydata2mydata2 

09e6b86cc456d61f456abbd6a9fa00ad.png

# 创建行rowrow # 添加row到mydata,形成新的数据框mydata3mydata3 

f5338f467ff87c1138a204f48daa490a.png

可以看到,新增的73行在数据框最下方。 通过transform函数增加新列
# 增加1列,列名为New,新增的列是LER列和MO列的和transform(mydata,New=LER+MO)
5c5290dbccbd72232096abbb66640008.png      4 数据提取 这里通过dplyr包来实现。
# 调用dplyr包library(dplyr)# 选择mydata数据集中nitrogen=120的数据mydata %>% filter(nitrogen==120)
  1e8a5bfd230a864b3b97df8962462fad.png
# 将列LER提取出来select(mydata,LER)
8975454698f7e18855a372c5581bd205.png
# 选择1到5列select(mydata,1:5)
de48e0841b4f11261e22747da3403422.png
#选择列名中有字母"O"的列select(mydata,contains("O"))
a3c3a06848fab75d696589099868e52a.png
#选择列名中以字母“M”开头的列select(mydata,starts_with("M"))
9484a6b883e7fd6231464f67490b6b82.png 5 数据排序
#以列pattern进行排序arrange(mydata,pattern)
3d6aac7fc3d2a282740f1b1bdd526737.png
#按年份以降序排列arrange(mydata,desc(year))
03f542569e8840b1b2b3712b43b7c251.png       以上是本人此次数据整理练习的笔记,学习过程中了解到,有些操作的实现不只是一种方法的,本文只是用到了其中的一小部分。       实际上以我个人的理解,数据整理的这部分工作可以通过Excel完成,也就是说在Evcel中对想要的数据进行整理后再转换成csv或者txt格式导入R即可。岂不是也很方便。       当然,数据的整理也是R的基本操作,学习R就在于实际操作,所以以后还是要熟练掌握并运用这些基本操作才能对R驾轻就熟。 参考文献: [1] R 数据框 (https://www.runoob.com/r/r-data-frame.html)

  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值