创建一个列表变量,它的第一个元素包含所有从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

3. 实例:计算这每行数据y值的样本方差

library(readxl)
data = read.csv("5.13.csv")
list = apply(data[,5:7],1,sample_var)
list

  

参考:https://www.jianshu.com/p/8e04245bfe6d;<---更多变形函数:lapply,sapply,tapply,

R apply()函数的更多相关文章

  1. R apply() 函数和 tapply() 函数

    apply(a,b,c) a是矩阵 b是行或列的代表,1是行,2是列 c是执行函数,如求和-sum,求平均-mean,求-range tapply(a,b,c) a是一个一维数据,           ...

  2. R apply函数 三维 array

    参考自:https://www.cnblogs.com/nanhao/p/6674063.html 首先,生成三维数组,注意该三维矩阵为 2*3*4的维度: x=array(1:24,c(2,3,4) ...

  3. R语言apply()函数用法

    在R语言的帮助文档里,apply函数的功能是: Retruns a vector or array or list of values obtained by applying a function ...

  4. R语言中apply函数

    前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...

  5. 4-2 R语言函数 apply

    #apply函数,沿着数组的某一维度处理数据 #例如将函数用于矩阵的行或列 #与for/while循环的效率相似,但只用一句话可以完成 #apply(参数):apply(数组,维度,函数/函数名) & ...

  6. (2)apply函数及其源码

      本文原创,转载请注明出处,本人Q1273314690(交流学习) 总结: 就是MARGIN决定了你的FUN调用几次,每次传递给你的是什么维度的内容,而...是传递给FUN的(每次调用的时候都会被传 ...

  7. R(五): R常用函数

    工作笔记记录,会持续更新.... 目录: apply tapply lapply sapply merge substr.substring.strsplit.unlist.paste.paste0. ...

  8. R9—R常用函数分类汇总

    数据结构 一.数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 ...

  9. apply() 函数家族介绍

    apply() 函数算是R语言中很基础的一个函数,同时还有 sapply()  lapply()  tapply() 函数精简了 apply() 函数的用法. apply() 函数是一个很R语言的函数 ...

随机推荐

  1. CSS - 布局流程

    一.为了提高网页制作的效率,布局时通常需要遵守一定的布局流程,具体如下: "版心"(可视区) 是指网页中主体内容所在的区域.一般在浏览器窗口中水平居中显示,常见的宽度值为960px ...

  2. 本周总结(19年暑假)—— Part2

    日期:2019.7.21 博客期:108 星期日 这几天正在认真学习大数据,我是在B站上看尚老师的视频搞得.我已经配好了Hadoop的基本环境,现在学习的是HDFS的相关内容

  3. vb.net自学完整版

    https://m.book118.com/html/2016/1203/67671992.shtm

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:将悬停的颜色应用在行或者单元格上

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. [转载]Spring下IOC容器和DI(依赖注入) @Bean及@Autowired

    Spring下IOC容器和DI(依赖注入) @Bean及@Autowired自动装配 bean是什么 bean在spring中可以理解为一个对象.理解这个对象需要换一种角度,即可将spring看做一门 ...

  6. SpringCloud实战——(2)通过Feign调用其他模块

    大型项目下往往有很多模块,ZCGL项目结构如下: 需要引用的其他模块已经发布成服务并在Eureka Server注册中心注册,如下: 写程序时引用了其他模块,并且其他模块在项目中,但是IDEA任然无法 ...

  7. day14-Python运维开发基础(内置函数、pickle序列化模块、math数学模块)

    1. 内置函数 # ### 内置函数 # abs 绝对值函数 res = abs(-10) print(res) # round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数,则进一!) 奇进 ...

  8. C#.NET解析XML(使用属性控制 XML 序列化)

    使用属性可以控制对象的 XML 序列化. 默认情况下,XML 元素名称由类或成员名称确定.在名为 Book 的简单类中,字段 ISBN 将生成 XML 元素标记 <ISBN>,如下面的示例 ...

  9. MariaDB——相关概念与sql语句

    数据库变量   数据库的两个目录 数据存放目录:/var/lib/mysql/     配置文件目录:/etc/my.cnf.d/ 查看数据库的变量 show global variables lik ...

  10. luogu P2763 试题库问题

    本题可以用最大流也可以用最大匹配(本质一样),用dinic最大流好建图,但码量大,匈牙利码量小,建图费点劲. 最大流:依旧是设一个源点一个汇点,对于每一个种类,连一条到汇点的边,capacity为需要 ...