暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R数据整理

ZJH的学习笔记 2021-09-07
1561
 数据统计分析的前奏--数据整理

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

        #查看全部数据
        print(mydata)
        复制

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


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

            3 增删行列
              # 删除第3列,可以看到pattern列没有了
              mydata[,-3]
              复制
                # 删除第3行数据
                mydata[-3,]
                复制

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



                    # 提取第3列
                    mydata[,3]
                    复制

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


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


                              

                              下面是增加列或者行,最基本的增加1列,可以通过创建新的列变量,然后再创建新的数据框,将新变量加入。如,创建新列New <- c(1:72),(这里只是举例创建了1到72的列向量,可以根据自己需要键入需要的向量值)。需要注意的是要保证创建的新列长度与mydata列长度一致
                          # 创建新的列
                          New <- c(1:72)
                          # 创建新的数据框mydata2
                          mydata2 <- data.frame(mydata,New)
                          复制


                            # 创建行row
                            row <- c(1:12)
                            # 添加row到mydata,形成新的数据框mydata3
                            mydata3 <- rbind(mydata,row)
                            复制


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

                                            参考文献:
                                            [1] 数据框 (https://www.runoob.com/r/r-data-frame.html)





                                            文章转载自ZJH的学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                            评论