Day5-庚帅博方便面

作者: lconan | 来源:发表于2019-12-20 13:57 被阅读0次
    Day5.png

    向量

    向量赋值

    x<- c(1,2,3) #常用的向量写法,意为将x定义为由元素1,2,3组成的向量。
    x<- 1:10 #从1-10之间所有的整数
    x<- seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数(注意是逗号不是分号)
    x<- rep(1:3,times=2) #1-3 重复2次
    

    查看变量

    View(变量名)

    向量中提取元素

    根据位置

    x[4] # x第4个元素
    x[-4] # 除第4个元素之外剩余的元素
    x[2:4] # 第2到4个元素
    x[-(2:4)] # 除第2-4个元素
    x[c(1,5)] # 第1个和第5个元素
    

    根据值

    x[x==10] # 等于10的元素
    x[x<0]
    x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素
    

    以上返回的都是符合相应条件的元素的
    %in% operator is used to identify if an element belongs to a vector.此处判断x中元素的值是否存在于所给向量中,如果是则返回其值

    数据框

    读取本地数据

    a <- read.table(file = "huahua.txt", sep = "\t", header = T)#读取文件,分隔符为Tab,有表头, 并赋值给a
    

    设置行名和列名

    X<-read.csv('doudou.txt')
    
    {9427591E-6579-4782-B04A-D4D008DAF2B4}.png.jpg
    // 以第一列作为行名
    X<-read.csv(file = "huahua.txt",sep = "\t",header =T,row.names=1)
    
    {557C17DA-2B87-4E9B-8B21-240D6F107AF6}.png.jpg

    数据框的导出

    write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改为逗号,字符串不加双引号(默认带有双引号) 
    

    此处的quote参数若为T(default),则所有字符或factor列将用双引号包围

    变量的保存与重新加载

    #这次没有处理完的数据下次想接着用怎么办?--学会保存和重新加载。保存的格式是RData。
    save.image(file="bioinfoplanet.RData")#保存当前所有变量
    save(frame1,file="frame1.RData")#保存其中一个变量
    load("frame1.RData")#再次使用RData时的加载命令
    

    提取元素

    此处直接copy

    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自动补全哦,不过只能提取一列)
    

    $------Extract or Replace Parts of an Object

    直接使用数据框中的变量

    a <-data.frame(case=paste("S",c(1:50)),values=runif(50))
    plot(a$case,a$values)
    
    image.png

    data.frame

    paste(..., sep = " ", collapse = NULL)
    搜索时碰到的有趣的例子
    但是很迷的一点是它直接将两个字符串相同编号的元素paste到一起

    > paste(1:12, c("st", "nd", "rd", rep("th", 9)))
     [1] "1 st"  "2 nd"  "3 rd"  "4 th"  "5 th"  "6 th"  "7 th"  "8 th"  "9 th"  "10 th" "11 th" "12 th"
    
    > paste(1:12, c("st", "nd", "rd", rep("th", 9)),sep = "",collapse = ",")
    [1] "1st,2nd,3rd,4th,5th,6th,7th,8th,9th,10th,11th,12th"
    # 可以用collapse参数的值将前面的字符串连接在一起
    

    偷懒:不需要重复打出数据框名称

    使用attach()

    微信图片_20191220134232.png

    使用with()

    image.png

    About with()
    with(data, expr, ...)evaluates an R expression in an environment constructed from data, possibly modifying the original data
    data: data to use for constructing an environment.
    这里认为所创建的env其实是临时的,如果不使用<<-使得x作为全局变量,x将在此block外脱离作用域

    最后贴上read.table()function的原型

    read.table(file, header = FALSE, sep = "", quote = "\"'",
               dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
               row.names, col.names, as.is = !stringsAsFactors,
               na.strings = "NA", colClasses = NA, nrows = -1,
               skip = 0, check.names = TRUE, fill = !blank.lines.skip,
               strip.white = FALSE, blank.lines.skip = TRUE,
               comment.char = "#",
               allowEscapes = FALSE, flush = FALSE,
               stringsAsFactors = default.stringsAsFactors(),
               fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
    

    相关文章

      网友评论

        本文标题:Day5-庚帅博方便面

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