美文网首页R语言
一些R语言的基本概念

一些R语言的基本概念

作者: 三点水的番薯 | 来源:发表于2022-02-20 14:16 被阅读0次

    R中比较难重点但复杂的几个函数

    示例数据

    library(tidyverse)
    diamonds
    > x <-  colnames(diamonds)[1:5]
    > x
    [1] "carat"   "cut"     "color"   "clarity" "depth"  
    > y <- colnames(diamonds)[1:10]
    > y
     [1] "carat"   "cut"     "color"   "clarity" "depth"   "table"   "price"   "x"       "y"      
    [10] "z"      
    > z <- colnames(diamonds)[seq(1,10,2)] # seq:seq(from,to,length),该函数的意思是生成一组数字,从from开始,到to结束,每两个数间的间隔是length,如
    > z
    [1] "carat" "color" "depth" "price" "y"    
    

    match
    匹配两个向量,返回第二个向量在第一个向量匹配位置的下标志

    >match(x,y)
    [1] 1 2 3 4 5
    >match(y,x)
    [1] 1 2 3 4 5 NA NA NA NA NA
    

    %in%
    x%in%y: 判断x的每个元素在y中是否存在

    z %in% x
    [1]  TRUE  TRUE  TRUE FALSE FALSE
    

    merge

    merge(x, y, by = intersect(names(x), names(y)),
          by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,
          sort = TRUE, suffixes = c(".x",".y"), no.dups = TRUE,
          incomparables = NULL, …)
    #x, y: 数据框
    #by, by.x, by.y:指定两个数据框中匹配列名称,默认情况下使用两个数据框中相同列名称。
    #all:逻辑值; all = L 是 all.x = L 和 all.y = L 的简写,L 可以是 TRUE 或 FALSE。
    #all.x:逻辑值,默认为 FALSE。如果为 TRUE, 显示 x 中匹配的行,即便 y 中没有对应匹配的行,y 中没有匹配的行用 NA 来表示。
    #all.y:逻辑值,默认为 FALSE。如果为 TRUE, 显示 y 中匹配的行,即便 x 中没有对应匹配的行,x 中没有匹配的行用 NA 来表示。
    #sort:逻辑值,是否对列进行排序。
    

    apply
    apply(X, MARGIN, FUN, ...)
    将一个函数同时作用于一个数组或者矩阵的一个margin(margin用来指定是对行运算还是对列运算,margin=1表示对行运算,margin=2表示对列运算),FUN用来指定运算函数;...用来指定FUN中需要的其它参数。

    >x <- matrix(1:12, ncol=3)
    > x
         [,1] [,2] [,3]
    [1,]    1    5    9
    [2,]    2    6   10
    [3,]    3    7   11
    [4,]    4    8   12
    
    > apply(x, 1, sum)    ## 行和
    [1] 15 18 21 24
    > apply(x, 2, sum)    ## 列和
    [1] 10 26 42
    > apply(x, 1, mean)    ## 行平均
    [1] 5 6 7 8
    > apply(x, 2, mean)    ## 列平均
    [1]  2.5  6.5 10.5
    

    相关文章

      网友评论

        本文标题:一些R语言的基本概念

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