R统计学2 - 数据分析入门问题21-40

终于,我也出了篇R语言入门手册! 作者:周运来,男,长大了才会遇到的帅哥,稳健,潇洒,大方,靠谱。大型测序工厂的螺丝钉,一个R者,一个随机森林中靠统计觅食的人。1. 什么是R语言R语言是一个开源的数据分析... 阅读详情

往期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   20

cumsum(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   20

mat_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 days

difftime(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= 参数)。

pch编号对应图形

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极简教程-1:数据分析前景 数据分析之我见数据分析是一个久已有之的行当了,最早出现的地方,应该是可能是在几百年前的科学领域,绝大多数的科学,其实都是实验+数据的模式,实验自然就是各种试管仪器激光化学,但是实验最终会产出数据,科研的后半部分就是数据分析。这样的模式一直延续到的今天。 阅读详情

相关推荐

统计学习导论—基于R应用(第二章)

统计学习是一套以复杂数据建模和数据理解为目的的工具集,是近期才发展起来 的统计学的一个新领域,它与计算机科学特别是其中的机器学习相互融合、协同发展。 统计学习领域涵盖了许多方法,比如说 lasso 回归、稀疏回归、分类和回归树、提升法 和支持向量机。

m0_69643079的博客 1497

R语言基础入门(全)

R 是门语言,也是个环境。个人认为R有点像matlab。 R自带多种统计学及数字分析功能。R的功能也可以通过安装包(Packages,用户撰写的功能)增强,个人感觉这个就是插件。因为S的血缘,R比其他统计学或数学专用的编程语言有更强的面向对象(面向对象程序设计)功能。R的另一强项是绘图功能,制图具有印刷的质素,也可加入数学符号。虽然R主要用于统计分析或者开发统计相关的软件,但也有人用作矩阵计

utnewbear的专栏 3万+

统计学基于r语言第八章答案

#8.1(1) load('C:/exercise/ch8/exercise8_1.RData') attach(exercise8_1) #boxplot(exercise8_1$填装量~机器,col="gold",xlab="机器",ylab="填充量") my_summary<-function(x){with(x,data.frame("均值"=mean(填装量),"标准差"=sd(填装量),n=length(填装量)))} install.packages('plyr') library(p

weixin_48232787的博客 2950

R语言和医学统计学(4):秩和检验

这是R语言和医学统计学的第4篇内容。主要是用R语言复现课本中的例子。我使用的课本是孙振球主编的《医学统计学》第4版。

医学和生信笔记的博客 2263

超级入门:R 语言的 5 种基本数据类型

R语言简和数据基础

笑不语的博客 3873

Cheat Engine实战:多级指针逆向破解游戏内存的5个关键步骤(附C++模拟代码)

本文详细解析了使用Cheat Engine进行多级指针逆向破解游戏内存的完整流程。通过5个关键步骤,从定位动态地址到逐层追踪指针链,最终构建稳定指针路径。文章结合C++模拟代码,深入剖析了指针链的底层汇编原理,并提供了高级排查技巧,帮助读者掌握逆向工程中的核心内存追踪技术。

weixin_29239279的博客 305

R语言和医学统计学(5):多因素方差分析

这是R语言和医学统计学的第5篇内容。主要是用R语言复现课本中的例子。我使用的课本是孙振球主编的《医学统计学》第4版。

医学和生信笔记的博客 3111

PADS Layout新手必看:从元件摆放到地线处理的10个实用技巧

本文为PADS Layout新手提供了10个实用技巧,涵盖元件摆放、地线处理等关键环节。从功能模块化布局到高频信号处理,再到电磁兼容性设计,帮助初学者快速掌握PCB设计核心技能,提升Layout效率和质量。特别适合需要优化PADS Layout工作流程的设计师参考。

stone的博客 251

R语言和医学统计学系列(1):t检验

本期开始将推送使用R语言进行医学统计学的相关内容。使用R语言进行统计学是我学习R语言最开始的初衷,没想到从此一发不可收拾,打开了新世界的大门。这个系列也是我最开始学习R语言时的笔记。希望对大家有帮助。主要是用R语言复现课本中的例子。我使用的课本是孙振球主编的《医学统计学》第4版。

医学和生信笔记的博客 1629

SLAM算法的优缺点

SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)算法是一种通过传感器数据实时估计机器人自身位置和构建环境地图的技术。

selenia8860的博客 2905

手机摄影新宠:In-line Hardware EIS如何让你的4K视频稳如鸡头(附实测对比)

本文深入解析了手机摄影中的In-line Hardware EIS(硬件级行内电子图像稳定)技术。通过对比传统软件EIS,阐述了其通过硬件管道实时处理实现极低延迟、减少画面裁切和有效抑制果冻效应的核心优势,并结合4K视频的日夜间实测,展示了该技术如何让手持拍摄的视频“稳如鸡头”,显著提升创作体验与成片质量。

tree的博客 994

厉害了!知名 R 语言开发者获得“统计学诺贝尔奖”

(给技术最前线加星标,每天看技术热点)原创:技术最前线(id:TopITNews)据nzherald近日报道,新西兰的软件开发者、统计学家哈德利·维克汉姆(Hadle...

redditnote的博客 527

碎碎念android eMMC【转】

本文转载自:https://blog.youkuaiyun.com/Fybon/article/details/44242549 一、/dev/blockroot@:/dev/block #lsbootdevicemmcblk0mmcblk0p1mmcblk0p10…….mmcblk0p18mmcblk0p19mmcblk0p2mmcblk0p20……mmcblk0p29mmcblk0p3mmcblk0p3...

zzb2760715357的博客 376

R语言和医学统计学(6):重复测量方差分析

这是R语言和医学统计学的第6篇内容。主要是用R语言复现课本中的例子。我使用的课本是孙振球主编的《医学统计学》第4版。

医学和生信笔记的博客 6059

每天一个优秀提示词学习收藏 - 文本去AI化(四)

宝子们,今天不藏私啦!我把这段时间四处搜罗、潜心钻研出来的文本去AI化Prompt 提示词大礼包双手奉上,这可都是能让你的 AI 创作水平原地起飞的干货!走过路过不要错过,赶紧码住,开启你的 AI 创作进阶之旅吧!

2442

LeRobot 入门教程(一)软件环境、部署流程及摄像头配置

🤖 LeRobot:开源机器人学习平台 摘要:LeRobot是一个基于PyTorch的开源机器人学习平台,提供模型、数据集和工具,旨在降低机器人技术门槛。平台包含经过验证的模仿学习和强化学习方法,并提供预训练模型、人类演示数据集及模拟环境。安装需从源码获取,支持Python 3.10环境,可选扩展包括仿真环境(如gym-aloha)、电机控制(Dynamixel/Feetech SDK)和实验跟踪(Weights & Biases)。该平台托管在HuggingFace,并设有社区Discord频道

2506_90492529的博客 3416

推荐 :100个统计学资源网站!

简介原文:统计学 & R学习资源编辑:庄闪闪的R语言手册作者:CoffeeCat[1]转载于:Coffee学生物统计的地方[2]注:有些链接需要科学上网/较硬的英文阅读能力才能愉快地体验知识/技术带来的快感。1.个人主页、博客、社区、论坛北大李东风[3]中科大张伟平[4]谢益辉(人称谢大大)[5]:统计之都论坛[6]创始人(与之有关的统计之都[7])统计学资源链接大全[8]:知名统计系...

数据分析 1576

增益可控放大电路-电路与电子技术课程设计

增益可控放大电路-电路与电子技术课程设计

Yeats_Liao的博客 1万+

100个统计学资源网站!

来源:pythonic生物人 本文约5200字,建议阅读10分钟 本文分享100个统计学和R语言学习资源网站。简介原文:统计学 & R学习资源编辑:庄闪闪的R语言手册作者:CoffeeCat[1]转载于:Coffee学生物统计的地方[2]注:有些链接需要科学上网/较硬的英文阅读能力才能愉快地体验知识/技术带来的快感。1.个人主页、博客、社区、论坛北大李东风[3]中科大张伟平[4]谢益辉(...

数据派THU 791

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

r语言的runmed函数_R语言在统计学教学中的运用

Vol.40No.6JournalofTangshanNormalUniversityNov.2018──────────基金项目:全国统计科学研究项目(2017LY63),安徽省哲学社会科学规划项目(AHSKY2018D63),安徽省教育厅重点项目(SK2017A0454),河北省科技厅重点项目(17454701...

weixin_39816027的博客 242

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

统计学-R语言-4.2

本篇介绍下数据的描述性分析。

2301_77225918的博客 1755

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

统计语言类教程:R语言贝叶斯统计学、Copula、SEM、极值统计学、混合效应模型、R\Python\matlab机器学习、科研数据可视化、线性回归、分位数回归、GAMS、meta分析、近红外光谱等.

给大家整理了一些常用的统计学内容和python、R、matlab等语言的应用教程,可根据自己的研究方向来对比选择应用

weixin_49857990的博客 633

(生物信息学)R语言与统计学入门(三)——卡方检验

卡方检验是用途很广的一种假设检验方法,它在分类资料统计推断中的应用,包括:两个率或两个构成比比较的卡方检验;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。 卡方检验的适用条件:要求样本含量应大于40且每个格子中的理论频数不应小于5。当样本含量大于40但有1=<理论频数<5时,卡方值需要校正,当样本含量小于40或理论频数小于1时只能用确切概率法计算概率。 在生物信息学中,什么时候用到卡方检验? 例如:我们研究某个基因与患者临床的关系。基于基因的中位表达值将样本分成高低表达...

weixin_46500027的博客 2532

ggplot2读书笔记12:第九章 数据分析

本书的最后一个部分,Part III,Data Analysis。主要包括三个章节,今天先来看第九章: Data Analysis 9.1 简介 在前面的学习中,我们使用的模拟数据集都是已经整理好的数据框,可以直接使用。但通常实际数据并不会这么理想,需要通过一定的整理好变换才能用于作图 所以这个部分的目标就是把ggplot2和其他工具结合起来,用于完整的数据分析。 首先...

qy_microbiota的博客 834

R语言基础入门

R语言基础入门之一:引言   1 什么是R语言R语言是一个开源的数据分析环境,起初是由数位统计学家建立起来,以更好的进行统计计算和绘图,这篇wiki中包含了一些基本情况的介绍。由于R可以通过安装扩展包(Packages)而得到增强,所以其功能已经远远不限于统计分析,如果感兴趣的话可以到官方网站了解关于其功能的更多信息。至于R语言名称的由来则是根据两位主要作者的首字母(Robert Gentle...

weixin_34268753的博客 3348

精选|2018年6月R新包推荐

作者:Joseph Rickert翻译:黄小伟,先后从事游戏、社交及金融数据研究及应用,目前就职网易杭州6月份,144个R新包收录于CRAN。其中31个是专门针对特定学科...

R语言中文社区 1973
上一篇: 生信技能42 - Linux服务器CPU、内存、负载及高消耗进程监控信息写入本地日志
下一篇: QIIME2最佳实践之QIIME2-Amplicon安装、分类器及数据库下载
生信与基因组学
博客等级 码龄9年 7202粉丝 257原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信与基因组学

每一份鼓励是我坚持下去动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值