R统计学2 - 数据分析入门问题21-40
往期R统计学文章:
R统计学1 - 基础操作入门问题1-20
21. 如何对矩阵按行 (列) 作计算?
使用函数 apply()
vec = 1:20
# 转换为矩阵
mat = matrix (vec , ncol=4)
# [,1] [,2] [,3] [,4]
# [1,] 1 6 11 16
# [2,] 2 7 12 17
# [3,] 3 8 13 18
# [4,] 4 9 14 19
# [5,] 5 10 15 20cumsum(vec)
# 返回一个向量,其元素是参数元素的累积和。
# [1] 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210# 对列进行计算
apply (mat, 2 , cumsum)
# [,1] [,2] [,3] [,4]
# [1,] 1 6 11 16
# [2,] 3 13 23 33
# [3,] 6 21 36 51
# [4,] 10 30 50 70
# [5,] 15 40 65 90
22.一组数中随机抽取数据?
函数 sample()
sample(n) 随机组合 1, . . . , n
sample(x) 随机组合向量 x, length(x) > 1
sample(x, replace = T) 解靴带法
sample(x,n) 非放回的从 x 中抽取 n 项
sample(x,n,replace = T) 放回的从 x 中抽取 n 项
sample(x,n, replace = T ,prob = p) 以概率p,放回的从 x 中抽取 n 项
n <- 1000# 随机抽取1000个数,取值范围-1至1
x <- sample(c(-1,1), n, replace = T)# 绘制折线图
plot(cumsum(x), type = "l", main = "Sums")# 模拟生成正态分布数据
# rnorm(n=100 , mean=0, sd=1)

23. 判断数据框的列是否为数字?
sapply(dataframe, is.numeric)
24.如何将数据标准化?
使用scale函数。
x <- c(rnorm(100), 2 * rnorm(30))
m <- scale(x, scale = F)
n <- scale(x, center = F)
25.如何获取分位数?
x <- c (1 , 4 , 6 , 17 , 50 , 51 , 70 , 100)
quantile(x)
# 0% 25% 50% 75% 100%
# 1.00 5.50 33.50 55.75 100.00
26.如何生成对角矩阵?
对一个向量使用 diag() 函数,得到对角线元素为向量的对角矩阵.
diag(3)
# [,1] [,2] [,3]
# [1,] 1 0 0
# [2,] 0 1 0
# [3,] 0 0 1
27. 如何构造上(下)三角矩阵?
使用lower.tri() 和 upper.tri()函数。
# 下三角矩阵
Rmat <- matrix(1:16, 4:4)
Rmat[upper.tri(Rmat)] <- 0
Rmat
# [,1] [,2] [,3] [,4]
# [1,] 1 0 0 0
# [2,] 2 6 0 0
# [3,] 3 7 11 0
# [4,] 4 8 12 16# 上三角矩阵
Rmat <- matrix(1:16, 4:4)
Rmat[lower.tri(Rmat)] <- 0
Rmat
# [,1] [,2] [,3] [,4]
# [1,] 1 5 9 13
# [2,] 0 6 10 14
# [3,] 0 0 11 15
# [4,] 0 0 0 16
28. 如何求矩阵各行 (列) 的均值?
使用 apply() 函数或colMeans() 函数。
n <- 5
m <- 4
# 构造5行,4列矩阵
mat <- matrix(1:m*n, m, n)
mat
# [,1] [,2] [,3] [,4] [,5]
# [1,] 5 5 5 5 5
# [2,] 10 10 10 10 10
# [3,] 15 15 15 15 15
# [4,] 20 20 20 20 20mat_mean <- matrix(apply(mat, 2, mean), m, n, by=T)
# 或 mat_mean <- matrix(colMeans(mat), m, n, by=T)mat_mean
# [,1] [,2] [,3] [,4] [,5]
# [1,] 12.5 12.5 12.5 12.5 12.5
# [2,] 12.5 12.5 12.5 12.5 12.5
# [3,] 12.5 12.5 12.5 12.5 12.5
# [4,] 12.5 12.5 12.5 12.5 12.5
29 如何求一元方程的根?
使用uniroot()函数,该函数基于二分法计算方程根,初始区间不满足求根条件,则会报错。
f <- function(x)x^3 - 2*x -1
uniroot(f, c(0,2))
# $root
# [1] 1.618018
#
# $f.root
# [1] -9.17404e-05
#
# $iter
# [1] 6
#
# $init.it
# [1] NA
#
# $estim.prec
# [1] 6.103516e-05
30. 如何在 R 里面求(偏)导数?
使用函数D()
f1 <- expression(sin(x)*x)
D(f1,"x")
# cos(x) * x + sin(x)f2 <- expression(x^2*y + y^2)
D(f2,"y")
# x^2 + 2 * y
31. 如何在 R 中计算高斯(正态)分布的概率计算?
如已知 X˜N(3, 1),计算P(2 ≤ X ≤ 5)。
# 利用正态分布的累积分布函数 pnorm
pnorm (5 ,3 , 1 ) − pnorm (2 ,3 ,1 )
# 计算结果为 0.8185946,即下图中阴影的面积。

32. R如何在保存文件时用变量替换文件名内容?
使用 paste() 函数。
save_string = "test"
for(var in range(1,3)){# paste("File_", var, ".txt", sep = "")为组合的文件名write.table(save_string , paste("File_", var, ".txt", sep = ""))
}
33. 如何在R中使用正则表达式?
使用 grep() 函数。
index <- grep("J.", month.abb)
# [1] 1 6 7
month.abb[index]
# [1] "Jan" "Jun" "Jul"
34. R语言如何截取字符串?
使用 substr() 函数。
str <- "abcdefg"
substr(str, 2, 4)
# [1] "bcd"
substring(str, 1:6, 1:3)
# [1] "a" "b" "c" "" "" ""
35. R语言如何对日期进行算术运算?
使用 difftime(arg) 函数, arg支持“auto”, “secs”, “mins”, “hours”, “days”, “weeks”参数。
d1 <- c("24/02/01")
d2 <- c("24/03/01")D1 <-as.Date(d1, "%y/%m/%d")
D2 <-as.Date(d2, "%y/%m/%d")difftime(D2, D1, units = "days")
# Time difference of 29 daysdifftime(D2, D1, units = "weeks")
# Time difference of 4.142857 weeks
36. R语言如何对系统时间进行格式化输出?
使用 format() 函数。
format((Sys.Date()), format="%A, %d %B %Y")
37. R语言如何在同一画面画出多张图?
推荐使用 layout() 函数。
layout(matrix(c(1, 1, 1,2, 3, 4), nr=2, byrow=T))
hist(rnorm(10, 0, 1), col = "VioletRed")
hist(rnorm(10, 0, 1), col = "VioletRed")
hist(rnorm(10, 0, 1), col = "VioletRed")
hist(rnorm(10, 0, 1), col = "VioletRed")

38. R语言如何设置图形边缘大小?
修改绘图参数 par(mar = c(bottom, left, top, right))
# 默认矩阵
par(mar = c(5, 4, 4, 2) + 0.1)
39. R语言 常用的 pch 符号都有哪些?
pch 是 plotting character 的缩写。pch 符号可以使用 “0 : 25” 来表示 26 个标识(参
看右图 “pch 符号”)。当然符号也可以使用#, %, ∗, |, +, −, ., o, O。值得注意的是,21 : 25
这几个符号可以在 points 函数使用不同的颜色填充(bg= 参数)。

op <- par(bg = "light blue")
x <- seq(0, 2*pi, len=51)plot(x, sin(x), type="o", bg=par("bg"))
points(x, sin(x), pch=21, cex=1.5, bg="red")

40. R语言如何给图形加上图例?
绘制图形后,使用 legend函数。
# 查看自带isis数据集
head(iris)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
# 3 4.7 3.2 1.3 0.2 setosa
# 4 4.6 3.1 1.5 0.2 setosa
# 5 5.0 3.6 1.4 0.2 setosa
# 6 5.4 3.9 1.7 0.4 setosa
with(iris, plot(Sepal.Length, Sepal.Width, pch=as.numeric(Species), cex=1.2))table(iris$Species)
# setosa versicolor virginica
# 50 50 50 legend(6.1, 4.1, c("setosa", "versicolor", "virginica"),cex=1.5, pch=1:3)

相关文章:
R统计学2 - 数据分析入门问题21-40
往期R统计学文章: R统计学1 - 基础操作入门问题1-20 21. 如何对矩阵按行 (列) 作计算? 使用函数 apply() vec 1:20 # 转换为矩阵 mat matrix (vec , ncol4) # [,1] [,2] [,3] [,4] # [1,] 1 6 11 16 # [2,] 2 7 12 17 # [3,] …...
蓝桥杯2023年-买瓜(dfs,类型转换同样耗时)
题目描述 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜,每个瓜的重量为 Ai 。 小蓝刀功了得,他可以把任何瓜劈成完全等重的两份,不过每个瓜只能劈一刀。 小蓝希望买到的瓜的重量的和恰好为 m 。 请问小蓝至少要劈多少个瓜才能买到重量恰好…...
生成式人工智能服务安全基本要求实务解析
本文尝试明晰《基本要求》的出台背景与实践定位,梳理《基本要求》所涉的各类安全要求,以便为相关企业遵循执行《基本要求》提供抓手。 引言 自2022年初以来,我国陆续发布算法推荐、深度合成与生成式人工智能服务相关的规范文件,…...
nginx详解,配置http,https,负载均衡,反向代理,SMTP 代理步骤说明
Nginx 是一款高性能的开源 Web 服务器,同时也可以用作反向代理服务器、负载均衡器、HTTP 缓存、HTTPS 中继、以及作为邮件代理服务器等。以下是 Nginx 可以实现的一些常见用途: 静态内容服务: Nginx 可以用来提供静态内容,比如 HTML、CSS、JavaScript 文件等。 动态内容服务…...
ARTS Week 20
Algorithm 本周的算法题为 1222. 可以攻击国王的皇后 在一个 下标从 0 开始 的 8 x 8 棋盘上,可能有多个黑皇后和一个白国王。 给你一个二维整数数组 queens,其中 queens[i] [xQueeni, yQueeni] 表示第 i 个黑皇后在棋盘上的位置。还给你一个长度为 2 的…...
python如何读取文件
这里的文件是txt文件,office文件不支持。 假如有一个pi_digits的txt文件,里面的内容是“3.1415926” 如果要读取这个文件的内容,需要调取pathlib模块,并把路径告知python。同时python文件必须要和目标读取文件在一个文件夹里。 …...
InnoDB和MyISAM存储引擎
InnoDB mysql默认存储引擎 支持事务,行级锁(并发量大),外键约束,容量大,支持缓存,支撑主键自增, 全文检索,不存储表的总行数,需要sql逐行统计 MyISAM 不…...
DataGrip 2023:让数据库开发变得更简单、更高效 mac/win
JetBrains DataGrip 2023是一款功能强大的数据库IDE,专为数据库开发和管理而设计。通过DataGrip,您可以连接到各种关系型数据库管理系统(RDBMS),并使用其提供的一组工具来查询、管理、编辑和开发数据库。 DataGrip 2023软件获取 DataGrip 2…...
突破编程_C++_设计模式(命令模式)
1 命令模式的基本概念 C 命令模式是一种设计模式,它允许将请求封装为一个对象,从而可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式的主要目的是将请求封装为对象,从而可…...
LeetCode102题:二叉树的层序遍历(python3)
代码思路:使用队列先进先出的特性,queue[]不为空进入for循环,tmp存储每层的节点,将结果添加至res[]中。 python中使用collections中的双端队列deque(),其popleft()方法可达到O(1)时间复杂度。 class Solution:def lev…...
linux服务器保存git账号密码命令
1.保存git账号密码 git config --global credential.helper store 2.查看git账号密码 cd回车 ls -a cat .git-credentials 步骤: 先输入 git config --global credential.helper store 然后进入代码目录,git pull 会提示输入git账号、密码,因为我们提前输…...
基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的田间杂草检测系统(深度学习模型+UI界面+Python代码+训练数据集)
摘要:开发用于田间杂草识别的系统对提高农业运营效率和提升作物产出至关重要。本篇文章详尽阐述了如何应用深度学习技术开发一个用于田间杂草识别的系统,并附上了完备的代码实现。该系统基于先进的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5…...
java Lambda表达式如何支持静态方法引用
java Lambda表达式如何支持静态方法引用 在Java中,Lambda表达式支持静态方法引用,允许你直接使用静态方法作为Lambda表达式的实现。静态方法引用使用类名和方法名来引用静态方法。 下面是一个简单的示例,展示了如何在Lambda表达式中使用静态…...
SpringMVC04、Controller 及 RestFul
4、Controller 及 RestFul 4.1、控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。控制器负责解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器类可以包含多个方法在Spring MVC中,对于Contr…...
【机器学习300问】33、决策树是如何进行特征选择的?
还记得我在【机器学习300问】的第28问里谈到的,看决策树的定义不就是if-else语句吗怎么被称为机器学习模型?其中最重要的两点就是决策树算法要能够自己回答下面两问题: 该选哪些特征 特征选择该选哪个阈值 阈值确定 今天这篇文章承接上文&…...
剑指offer C ++双栈实现队列
1. 基础 队列:先进先出,即插入数据在队尾进行,删除数据在队头进行; 栈:后进先出,即插入与删除数据均在栈顶进行。 2. 思路 两个栈实现一个队列的思想:用pushStack栈作为push数据的栈ÿ…...
【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt
【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt 1. 模型权重准备2. 模型重新参数化2.1 文件准备2.2 参数修改2.3 重新参数化过程 3. 重新参数化后模型推理3.1 推理超参数配置3.2 模型推理及对比 4. onnx 模型导出(补充内容)4…...
Zookeeper搭建
目录 前言 初了解Zookeeper 搭建 准备 配置Zookeeper 前言 今天来介绍Zookeeper的搭建,其实Zookeeper的搭建很简单,但是为什么还要单独整一节呢,这就不得不先了解Zookeeper有什么功能了!而且现在很火的框架也离不开Zookeepe…...
2.Datax数据同步之Windows下,mysql和sqlserver之间的自定义sql文数据同步
目录 前言步骤操作大纲步骤明细mysql 至 sqlServersqlServer 至 mysql执行同步语句中报 前言 上一篇文章实现了不同的mysql数据库之间的数据同步,在此基础上本篇将实现mysql和sqlserver之间的自定义sql文数据同步 准备工作: JDK(1.8以上,推…...
commonjs和esmodule
commonjs的模块导出和引用写法: lib.js 导出一个模块 let a 1 let b 2 function aPlus1() {return a } module.exports {a,b,aPlus1 } index.js引用一个模块 const {a,b,aPlus1} require(./lib.js) console.log(hh:,a) esmodule的模块导出和引用方法&#x…...
Transformer变体进化史:从基础架构到高效优化策略
1. Transformer基础架构的诞生 2017年那篇《Attention Is All You Need》论文像一颗炸弹,彻底改变了NLP领域的游戏规则。当时我在做机器翻译项目,还在和RNN的梯度消失问题搏斗,Transformer的出现简直像救世主降临。它的核心创新点可以用一个厨…...
ESP32内存告急?别慌!手把手教你搞定‘iram0_0_seg overflowed’编译错误
ESP32内存告急?别慌!手把手教你搞定‘iram0_0_seg overflowed’编译错误 当你正沉浸在ESP32项目的开发中,突然一个红色的编译错误打断了你的思绪——"iram0_0_seg overflowed"。这个看似晦涩的错误信息,实际上困扰着许多…...
实战笔记:从零到一完成裕泰微PHY芯片的驱动适配与设备树集成
1. 初识裕泰微PHY芯片与开发环境搭建 第一次拿到YT8521这颗PHY芯片时,说实话有点懵。这个比指甲盖还小的芯片,居然要负责整个网络通信的物理层信号转换。我用的开发板是BCM47722L主控,通过RGMII接口直连YT8521。这里有个新手容易忽略的点&…...
告别手算!用Matlab快速搞定高斯光束的ABCD矩阵(附常用光学系统代码)
用Matlab高效构建光学系统:高斯光束ABCD矩阵实战指南 光学仿真工程师们常常面临一个困境:理论推导严谨但繁琐,手动计算容易出错且效率低下。特别是在处理复杂光学系统时,反复验证ABCD矩阵的正确性会消耗大量时间。本文将分享一套经…...
紧急预警!Python项目正面临算力瓶颈,Mojo热替换接入方案已获Stripe/Airbnb团队验证
第一章:紧急预警!Python项目正面临算力瓶颈,Mojo热替换接入方案已获Stripe/Airbnb团队验证全球范围内,高并发数据处理、实时AI推理与低延迟金融计算场景正持续加剧Python运行时的算力压力。CPython解释器的GIL限制、内存管理开销及…...
解决Windows系统卡顿:Win11Debloat全方位优化工具使用指南
解决Windows系统卡顿:Win11Debloat全方位优化工具使用指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter an…...
LC滤波器选型避坑指南:为什么你的高频噪声总是滤不干净?
LC滤波器选型避坑指南:为什么你的高频噪声总是滤不干净? 作为硬件工程师,你是否遇到过这样的场景:精心设计的LC滤波器在低频段表现良好,一到高频就"原形毕露"?那些恼人的射频噪声像幽灵一样在电路…...
健壮的容错机制:让Agent优雅降级与自动恢复
健壮的容错机制:让Agent优雅降级与自动恢复 关键词: Agent容错、优雅降级、自动恢复、多Agent系统、心跳检测、重试策略、状态一致性、故障隔离、自适应调节、系统可靠性摘要 在人工智能与软件工程深度融合的当下,自主智能体(Agen…...
比迪丽AI绘画LaTeX集成:学术论文插图自动生成
比迪丽AI绘画LaTeX集成:学术论文插图自动生成 学术写作中,插图制作往往耗时费力,比迪丽AI绘画与LaTeX的集成让这一过程变得智能高效 1. 学术插图制作的痛点与需求 写论文的研究生们都有过这样的经历:花几天时间做实验,…...
数字资产管理问题的创新解法:WeChatMsg的本地化数据主权实现
数字资产管理问题的创新解法:WeChatMsg的本地化数据主权实现 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…...
