R-apply()函数
Posted jiaxinwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R-apply()函数相关的知识,希望对你有一定的参考价值。
创建一个列表变量,它的第一个元素包含所有从0到9的平方数,第二个元素为10到19之内的所有平方数,依此类推,最后一个元素为90到99之内的平方数。没有平方数的元素也应该被包含在内!
学习网友的解题思路,用的是apply()函数。
学习 apply() 函数:
1.apply函数的使用方法:
apply(X, MARGIN, FUN) Here: -x: 一个数组或者矩阵 -MARGIN: 两种数值1或者2决定对哪一个维度进行函数计算 -MARGIN=1`: 操作基于行 -MARGIN=2`: 操作基于列 -MARGIN=c(1,2)`: 对行和列都进行操作 -FUN: 使用哪种操作,内置的函数有mean(平均值)、medium(中位数)、sum(求和)、min(最小值)、max(最大值),当然还包括广大的用户自定义函数
2.解题
> m1 = matrix(0:99,nrow = 10,ncol = 10,byrow = T) > m1 [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 0 1 2 3 4 5 6 7 8 9 [2,] 10 11 12 13 14 15 16 17 18 19 [3,] 20 21 22 23 24 25 26 27 28 29 [4,] 30 31 32 33 34 35 36 37 38 39 [5,] 40 41 42 43 44 45 46 47 48 49 [6,] 50 51 52 53 54 55 56 57 58 59 [7,] 60 61 62 63 64 65 66 67 68 69 [8,] 70 71 72 73 74 75 76 77 78 79 [9,] 80 81 82 83 84 85 86 87 88 89 [10,] 90 91 92 93 94 95 96 97 98 99 > list = apply( + m1,MARGIN = 1, + function(m1) + + m1[round(sqrt(m1))^2==m1] + ) > list [[1]] [1] 0 1 4 9 [[2]] [1] 16 [[3]] [1] 25 [[4]] [1] 36 [[5]] [1] 49 [[6]] integer(0) [[7]] [1] 64 [[8]] integer(0) [[9]] [1] 81 [[10]] integer(0)
round()是四舍五入函数:
> x = seq(1,20,3) > x = sqrt(x) > x [1] 1.00000 2.00000 2.64575 3.16228 3.60555 4.00000 [7] 4.35890 > round(x) [1] 1 2 3 3 4 4 4
参考:https://www.jianshu.com/p/8e04245bfe6d;<---更多变形函数:lapply,sapply,tapply,
以上是关于R-apply()函数的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin函数 ⑧ ( 函数引用 作为函数参数 | ::函数名 | 函数类型 作为函数返回值类型 )
8InfluxDB常用函数聚合函数,count()函数,DISTINCT()函数,MEAN()函数,MEDIAN()函数,SPREAD()函数,SUM()函数
Kotlin函数式编程 ② ( 过滤函数 | predicate 谓词函数 | filter 过滤函数 | 合并函数 | zip 函数 | folder 函数 | 函数式编程意义 )
Kotlin函数式编程 ② ( 过滤函数 | predicate 谓词函数 | filter 过滤函数 | 合并函数 | zip 函数 | folder 函数 | 函数式编程意义 )
1.19.9.函数概览函数引用精确函数引用模糊函数引用函数解析顺序精确函数引用模糊函数引用自定义函数准备工作概述开发指南函数类求值方法标量函数表值函数聚合函数