美文网首页
apply族函数12-3(小完结)

apply族函数12-3(小完结)

作者: 小胡同学ime | 来源:发表于2021-10-21 12:16 被阅读0次
    1.apply 处理矩阵或数据框
    apply(X, MARGIN, FUN, …)

    *其中X是数据框/矩阵名;
    *MARGIN为1表示取行,为2表示取列,FUN是函数

    test<- iris[,1:4]
    apply(test, 2, mean)
    [1]Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
     5.843333     3.057333     3.758000     1.199333
    
    a <- apply(test, 1, sum);a[1:3] #观察结果的前三个
    [1] 10.2  9.5  9.4
    
    
    res <- c()
    for(i in 1:nrow(test)){
      res[[i]] <- sum(test[i,])   #每一行依次求和
    }
    res[1:3]
    
    [[1]]
    [1] 10.2
    [[2]]
    [1] 9.5
    [[3]]
    [1] 9.4
    
    

    2.lapply(list, FUN, …)

    对列表/向量中的每个元素(向量)实施相同的操作

    test <- list(x = 36:33,
                 y = 32:35,
                 z = 30:27)
    

    返回值是列表,对列表中的每个元素(向量)求均值(试试方差var,分位数quantile)

    lapply(test,mean)
    class(lapply(test,mean)). #输出为列表
    x <- unlist(lapply(test,mean));x
    class(x)  #简单化
    

    3.sapply 处理列表,简化结果,直接返回矩阵和向量

    sapply(X, FUN, …) 注意和lapply的区别,返回值不一样

    lapply(test,min)
    sapply(test,min)
    lapply(test,range)
    sapply(test,range)
    
    class(sapply(test,range))
    
    练习:
    # 1.加载test2.Rdata,求每一行的方差
    # load(file = "test2.Rdata")
    apply(test, 1, sd)[1:3]
    [1] 2.179449 2.036950 1.997498
    
    # 2.加载class.Rdata,尝试将前6列转为数值型,得到一个新矩阵
    # load(file = "class.Rdata")
    # apply(y[,1:6], 2, as.numeric)
    
    # 3.解析代码:
    names(tail(sort(apply(test,1,sd)),1000))[1:10]
    
    ### 重点函数
    
    *   ***sort***
    *   ***match***
    *   ***names***
    *   ***ifelse 和 str_detect***
    *   ***identical***
    *   ***arrange***
    *   ***merge 和 inner_join***
    *   ***unique 和 duplicated***
    
    ### 重点知识点
    
    *   ***向量数据框、列表取子集***
    *   ***数据框新增列***
    *   ***文件读取***
    *   ***Rdata的加载与保存***
    *   ***作图保存***
    *   ***R包安装和加载***
    *   ***形式参数、实际参数、默认参数***
    
    #### R语言遍历、创建、删除文件夹
    
    *   dir()
    *   file.create()
    *   file.exists(…)
    *   file.remove()
    *   file.rename(from, to)
    *   file.append(file1, file2)
    

    相关文章

      网友评论

          本文标题:apply族函数12-3(小完结)

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