b站课程视频链接:
https://www.bilibili.com/video/BV19x411X7C6?p=1
腾讯课堂(最新,但是要花钱,我花99😢😢元买了,感觉讲的没问题,就是知识点结构有点乱,有点废话):
https://ke.qq.com/course/3707827#term_id=103855009
本笔记前面的笔记参照b站视频,【后面的画图】参考了付费视频
笔记顺序做了些调整【个人感觉逻辑顺畅】,并删掉一些不重要的内容,以及补充了个人理解
系列笔记目录【持续更新】:https://blog.csdn.net/weixin_42214698/category_11393896.html
文章目录
协方差 ——英文: covariance
相关性系数 ——英文:Correlation coefficient
必须要看懂下面这个博客:
详细见:5. 统计学基础2:协方差、相关系数、协方差矩阵
相关性分析:是指对两个或者多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。
相关性元素之间,需要存在一定的联系才可以进行相关性分析,简单来说就是变量之间是否有关系(也就是说需要先进行独立检测之后才能进行相关分析)。
相关系数的大小表示相关性的大小,相关系数包括:
pearson相关系数、spearman相关系数、kendall相关系数、偏相关系数、多分格相关系数和多系列相关系数
cov()函数可以用来计算协方差,可以用来衡量两个变量的整体误差

与独立性检验不同,相关性分析中每种方法都没有独立的函数,这里计算相关性系数都使用同一个函数:cor()函数。
常用:cov(x, y = NULL, use = "", method = "")
x:数字矢量、矩阵或数据帧。
y:NULL(默认值)或具有与x兼容维度的向量、矩阵或数据帧。默认值相当于y=x(但更有效)。
na.rm:是否应删除缺失的值?
use:一个可选字符串,给出了在缺少值的情况下计算协方差的方法。
这必须是字符串“everything”、“all.obs”、“complete.obs”、“na.or.complete”或“pairwise.complete.ob”之一的缩写。
method:指示要计算哪个相关系数(或协方差)的字符串。“pearson”(默认)、“kendall”或“spearman”之一,可以缩写。
V:对称数字矩阵,通常是正定的,如协方差矩阵。
此处我们使用state.x77数据作为实例数据(这是一个矩阵数据):

设相关系数为η, η 的取值范围为 [ − 1 , 1 ]
当 η 为正值时,X、Y 正相关,值越大正相关性越强;
当 η 为负值时,X 、Y负相关,值越小负相关性越强
当 η 趋于 0 时,基本不相关。当 η = 0 时, X、Y 不相关
cor()函数只能计算三种相关系数,其他相关系数的计算可以通过R的拓展包
偏相关系数:是指在控制一个或者多个变量时,剩余其他变量之间的相互关系
pcor()函数需要输入两个重要的参数:
1️⃣第一个参数是一个数值向量(前两个数值表示要计算相关系数的下标,其余的数值为条件变量的下标)
2️⃣第二个参数是cov( )函数计算出来的协方差结果
比如此处我们想控制收入水平、文盲率和高中毕业率的影响,看人口(第一列)和谋杀率(第五列)之间的关系(先获取列名,不然容易混):

在进行相关性分析之后,对相关性进行检验,cor.test()函数可用于相关性的检验。该函数有四个比较重要的选项参数,
cor.test(x, y,
alternative = c("two.sided", "less", "greater"),
method = c("pearson", "kendall", "spearman"),
exact = NULL, conf.level = 0.95, continuity = FALSE, ...)
1. 其中x和y是需要检测的相关性变量
2. alternative是用来指定进行双侧检验还是单侧检验
two.sided代表分别检测正负相关性,greater代表正相关,less代表负相关。
3.Method选项用于指定用哪种相关系数,可选的有pearson相关系数、spearman相关系数、kendall相关系数。
我们使用state.x77数据检测一下谋杀率与文盲率之间的关系

Cor.test()只能一次性检测一组变量的关系
psych包中的corr.test()函数,可以一次性进行多个变量的检验,这个函数还可以进行递归操作
> library(psych)

图片下面绿色的是cor.test()计算出来的p-value值
使用ggm包中的pcor.test()函数,要先用pcor( )计算偏相关系数
> pcor(c(1,5,2,3,6),cov(state.x77))
[1] 0.3462724
再用pcor.test() 对其进行检验

返回三个值,分别是t检验,自由度和p-value值
我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我正在尝试用ruby中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了
我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que
我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来