美文网首页
数据挖掘20210105学习笔记

数据挖掘20210105学习笔记

作者: 爱吃甜品的鱼 | 来源:发表于2021-02-10 08:29 被阅读0次

    对单个向量进行的操作

    (1)赋值给一个变量名,用“=”或“<-”

    > x=c(1,2,3,4,5,6)  #()中的每个数为向量的元素
    > x
    [1] 1 2 3 4 5 6
    > x<-c(1,2,3,4,5,6)  #<-的快捷键为Alt加-
    > x
    [1] 1 2 3 4 5 6
    

    (2)简单数学计算

    > x+10
    [1] 11 12 13 14 15 16
    >sqrt(x)  #求开方
    

    (3)根据某条件进行判断,生成逻辑值向量

    > x>5
    [1] FALSE FALSE FALSE FALSE FALSE  TRUE
    > x==3   #==用来判断是否相等
    [1] FALSE FALSE  TRUE FALSE FALSE FALSE
    > x!=3   #!=用来判断是否不相等
    [1]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE
    

    (4)初级统计

    >x<-c(1,2,2,3,5,6,5)
    >max(x)     #最大值
    >min(x)     #最小值
    >mean(x)    #平均值
    >median(x)  #中位数
    >var(x)     #方差
    >sd(x)      #标准差
    >sum(x)     #求和
    
    > length(x)  #长度,指向量里的长度个数
    [1] 7
    > unique(x)  #去重复,只保留第一次出现的元素
    [1] 1 2 3 5 6
    > duplicated(x)  #查重,判断哪个元素重复出现,返回与 x 长度相等的逻辑值向量
    [1] FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE
    > table(x)  # 重复值统计
    x
    1 2 3 5 6 
    1 2 1 2 1 
    > sort(x)   #排序,默认从小到大排。从大到小排需加(decreasing=T)
    [1] 1 2 2 3 5 5 6
    

    对两个向量进行的操作

    > x<-c(1,3,5,1)
    > y<-c(3,2,5,6)
    

    (1)逻辑比较,生成等长的逻辑向量

    > x==y     #判断x和对应位置的y是否相等(不与其他元素比较)
    [1] FALSE FALSE  TRUE FALSE
    > x%in%y   #判断x的每个元素在y中是否存在(返回值的个数取决于x)
    [1] FALSE  TRUE  TRUE FALSE
    > y%in%x   #判断y的每个元素在x中是否存在(返回值的个数取决于y)
    [1]  TRUE FALSE  TRUE FALSE
    

    (2)数学计算

    > x+y
    [1]  4  5 10  7
    

    (3)连接

    > paste(x,y,sep=":")    
    [1] "1:3" "3:2" "5:5" "1:6"
    > paste(x,y)
    [1] "1 3" "3 2" "5 5" "1 6"
    > paste0(x,y)   #paste(x,y,sep="")等同于paste0(x,y)   
    [1] "13" "32" "55" "16"
    

    (4)交集、并集、差集

    > intersect(x,y)    #交集,默认去重复
    [1] 3 5
    > union(x,y)        #并集,默认去重复
    [1] 1 3 5 2 6
    > setdiff(x,y)      #差集,在x里存在,在y里不存在
    [1] 1
    > setdiff(y, x)     #差集,在y里存在,在x里不存在
    [1] 2 6
    

    当两个向量长度不一样 , “循环补齐”

    > x<-c(1,3,5,6,2)
    > y<-c(3,2,5)
    > x==y    #短的循环补齐长的
    [1] FALSE FALSE  TRUE FALSE  TRUE
    
    循环补齐

    利用循环补齐简化代码

    > paste0(rep("gene",3), 1:3)
    [1] "gene1" "gene2" "gene3"
    > paste0("gene", 1:3)
    [1] "gene1" "gene2" "gene3"
    

    向量筛选(取子集)将TRUE对应的值挑选出来,FALSE对应的舍弃

    1.根据逻辑值,[ ]里应能单独运行,将TRUE对应的值能挑选,即具有逻辑值(如x<7)
    > x<-c(1,3,5,7,8)
    > x>5
    [1] FALSE FALSE FALSE  TRUE  TRUE
    > x[x>5]
    [1] 7 8
    
    2.根据位置,[ ]里是由x的下标组成的向量
    > x[4]
    [1] 7
    > x[2:4]
    [1] 3 5 7
    

    修改向量中的某个、某些元素

    > x<-1:10
    > x
     [1]  1  2  3  4  5  6  7  8  9 10
    > x[5]<-11   #取子集加赋值
    > x
     [1]  1  2  3  4 11  6  7  8  9 10
    

    向量作图

    > k1<-rnorm(12)
    > k1
     [1]  0.97345359  0.01859987  0.23110057  0.21045904 -0.06404520 -1.15701867
     [7]  1.02837091 -1.96591605  0.09879417 -0.41808639 -0.45841582  0.45912581
    > k2<-rep(c("a","b","c","d"),each=3)
    > k2
     [1] "a" "a" "a" "b" "b" "b" "c" "c" "c" "d" "d" "d"
    > plot(k1)
    > boxplot(k1~k2)
    

    向量匹配排序-match

    > x<-c("A","B","C","D","E")
    > y<-c("B","D","E","A","C")
    > match(x,y)    #根据x的模板调整y的顺序,返回值是y的下标
    [1] 4 1 5 2 3
    > y[match(x,y)]  #谁在外面,谁就在后面
    [1] "A" "B" "C" "D" "E"
    

    相关文章

      网友评论

          本文标题:数据挖掘20210105学习笔记

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