Day5-数据类型

作者: Sun506 | 来源:发表于2022-04-19 14:42 被阅读0次

    1.设置工作路径

    setwd('/mnt/SSS/database/Day5')

    2.读取doudou

    先看看长什么样子


    image.png
    > X<-read.table('doudou.txt')
    > head(X)
         V1
    1 X1,X2
    2   A,1
    3    B,
    4    C,
    5   D,3
    6    E,
    #发现不是我想要的样子,分隔是,。
    > X<-read.table('doudou.txt',sep =',',header=T)
    > head(X)
      X1 X2
    1  A  1
    2  B NA
    3  C NA
    4  D  3
    5  E NA
    #这样就对了,其实还可以read.csv
    > X<-read.csv('doudou.txt')
    > head(X)
      X1 X2
    1  A  1
    2  B NA
    3  C NA
    4  D  3
    5  E NA
    

    再来看一下huahua


    image.png
    #读取huahua
    > X<-read.table('huahua.txt',sep =' ',header=T)
    > head(X)
      X1.X2
    1  A\t1
    2   B\t
    3   C\t
    4  D\t3
    5   E\t
    

    两列之间有空格,所以sep里面加了空格,但是读出来是这个样子的。其实两列之间不是空格,是tab分隔的。因此sep=‘\t’

    > X<-read.table('huahua.txt',sep ='\t',header=T)
    > head(X)
      X1 X2
    1  A  1
    2  B NA
    3  C NA
    4  D  3
    5  E NA
    #那能不能csv读取呢
    > X<-read.csv('huahua.txt')
    > head(X)
      X1.X2
    1  A\t1
    2   B\t
    3   C\t
    4  D\t3
    5   E\t
    

    csv和txt有什么区别

    其实是两者的分隔符不同,csv默认‘,’,txt默认‘’
    CSV文件默认以英文逗号做为列分隔符,因此第一个文件csv不用设置sep参数,第二个文件如果设置sep ='\t'也是可以读取的。

    3.设置行名和列名

    > X<-read.csv('doudou.txt') #
    > class(X)
    [1] "data.frame"
    > colnames(X) #查看列名
    [1] "X1" "X2"
    > rownames(X) #查看行名
    [1] "1" "2" "3" "4" "5"
    > colnames(X)[1]<-"bioplanet"#有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改
    > head(X)
      bioplanet X2
    1         A  1
    2         B NA
    3         C NA
    4         D  3
    5         E NA
    

    4.数据框的导出

    X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列为行名
    write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改为逗号,字符串不加双引号(默认格式带由双引号)
    

    5.变量的保存与重新加载

    这次没有处理完的数据下次想接着用怎么办?--学会保存和重新加载。保存的格式是RData。

    save.image(file="bioinfoplanet.RData")#保存当前所有变量
    save(X,file="test.RData")#保存其中一个变量
    load("test.RData")#再次使用RData时的加载命令
    

    6.提取元素

    X[x,y]#第x行第y列
    X[x,]#第x行
    X[,y]#第y列
    X[y] #也是第y列
    X[a:b]#第a列到第b列
    X[c(a,b)]#第a列和第b列
    X$列名#也可以提取列(优秀写法,而且这个命令还优秀到不用写括号的地步,并且支持Tab自动补全哦,不过只能提取一列)
    

    7.脚本保存

    后缀就是.R


    image.png

    8.作业

    另外请在作业中回答一个问题:save(X,file="test.RData")这句代码如果报错object X not found,是为什么,应该怎么解决?

    • X大小写是否搞错
    • 在环境里面找找是否有X image.png
    • 没有的话是不是X没有被赋值,检查一下代码

    相关文章

      网友评论

        本文标题:Day5-数据类型

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