和“SPSS学习笔记”的其他方法不同,卡方检验是针对计数资料的 目录 一、卡方检验、Fisher精确检验(2*2) 分析 操作 结果及分析 二、卡方检验(R×C) 分析 操作 结果及分析...假设4:样本量足够大,最小的样本量要求为分析中的任一单元格期望频数大于5。...1-5,看第二个数; 当总例数n<40或最小期望计数<1,看第三个数 3、本研究中所有单元格的最小期望频数为【】,均大于5,样本量满足Pearson卡方检验的要求。...假设2:具有相互独立的观测值,如本研究中各位研究对象的信息都是独立的 假设3:样本量足够大,最小的样本量要求为分析中的任一单元格期望频数大于5。...15例饮酒者在干预后戒酒,另有5例不饮酒者在干预后开始饮酒。 2、如果非对角线的格子(左下和右上背景标黄的格子)中研究对象总数小于等于25时,采用精确法计算。
为了演示,我们将使用xlsxwriter创建一个现金流预测模型。在金融学中,“现金流预测”是指在一定年限内进行的一组计算。...我们还初始化了两个计数器row和col,稍后我们将使用它们在单元格中循环遍历。当然,我们可以使用枚举而不是设置计数器,但这样做可以更自由地更改单元格坐标且更容易。...使用Python对Excel工作簿定义名称 在Excel工作簿中创建“名称”是一种常见做法。这些名称基本上只是变量,可以通过调用给定的名称来访问它们,而不是使用单元格/单元格区域地址。...这个方法需要两个参数:第一个参数是要使用的名称,第二个参数是指向单元格地址的字符串,或者只是一个值。例如: wb.define_name('income_increase',"=输入!...wb.define_name('test',"=100") 一旦有了这些名称,就可以直接调用它们,而不必担心值是否位于单元格“G10”或任何地址中。
,你的数据可能是计数的数据框,或者是一个列联表。...# 为result列创建列联表,包含0和1两个值 # 注意“0”和“1”是列名而不是实际的值 ct <- table(data$result) ct #> #> 0 1 #> 17 13 #...R中的CMH检验可以处理比2x2xK维度更高的数据,例如你处理3x3xK列联表。 在接下来的例子里有三个变量:Location,Allele和Habitat。...,而不是像之前的例子是记录的数据框。...注意列联表的前两个维度处理是一致的,所以前后顺序变化都不会影响结果。而最后一个变量变化会导致结果的不同,下面是一个实例。
lr代表工作表中最后使用的行的行号。最后,Rng变量是第一个使用的行到最后一个使用的行之间的区域。...For Each r In Rng 检查r中的值是否为“Hide”: If r.Value = "Hide" Then 下面是关键。...为一个称为JoinR的联合区域引入一个变量,需要检查变量JoinR中是否有任何内容。如果它不是空的,那么希望通过简单的添加来增加区域JoinR。...如果JoinR为空且单元格值等于“Hide”,则将按如下方式为JoinR指定其第一个单元格: Set JoinR = r 其中,JoinR等于r。...JoinR.EntireRow.Hidden = True 通过一次隐藏行,而不是一行一行地隐藏,节省了大量时间。
其中Excel是可编程性最好的办公应用,Python中的openpyxl模块能够对Exel文件进行读取、修改以及创建,在处理大量繁琐重复的Excel文件时,openpyxl模块让计算机自动进行处理成为可能...在example4.xlsx文件中的“Sheet”工作表为空,我们现在往其中的单个单元格以及特定范围单元格写入内容。 写入前的“Sheet”工作表: ? 程序代码: ?...第一个例子的要求为:创建程序 ,从命令行接受数字 N,在一个 Excel 电子表格 中创建一个 N×N 的乘法表,另外行 1 和列 A 应该用做标签,应该使用粗体。最终的实现效果如下: ?...这里第一步我们使用openpyxl.Workbook()函数创建了一个对象,并将该对象的引用返回存在wb变量中,而不是从已有的Excel文件加载。...第三个例子为:编写一个程序,翻转电子表格中行和列的单元格。例如,第 5 行第 3 列的值将 出现在第 3 行第 5 列(反之亦然)。这应该针对电子表格中所有单元格进行。实现前后效果如下: ? ?
r, p_value = spss.spearmanr(v1,v2) kendalltau v1,v2的分布没有特定的要求 r, p_value = spss.kendalltau(v1,v2) 多个变量之间的相关性...χ2 独立性检验 在该函数中,参数“correction”用于设置是否进行连续性校正,默认为 True。...对于大样本,且频数表中每个单元格的期望频数都比较大(一般要求大于 5),可以不进行连续性校正。...如果观察总例数 n 小于 40,或者频数表里的某个期望频数很小(小于 1),则需要使用 Fisher 精确概率检验 spss.fisher_exact这个函数的输入只能是2X2的二维列联表,R中的fisher.test...输入可以不是2X2列联表。
从上面的案例中,我们看到,猴子和马云都是排第1的,有两个第1;而后就是苏火火,排在了第3,而不是第2。 那么如何实现,猴子和马云都是排第1,苏火火排在第2(而不是第3)呢?...可以看到,两个并列排名第1之后,紧随的是第2,而不是从第3开始。 那么,这个公式怎么理解呢?我们拆解每一步来看下。...第二步:countif($B$2:$B$11,$B$2:$B$11) 这是条件计数,对满足条件的值进行计数,它的运算过程是: countif($B$2:$B$11,B2) countif($B$2:$B...$11,B3) countif($B$2:$B$11,B4) …… 意思是,统计B2单元格的值在B2:B11区域中出现的次数;统计B3单元的值在B2:B11区域中出现的次数;统计B4单元格的值在B2:...0除以任何数,结果都为0;而1除以出现的次数,就使得重复出现的数值只计算一次,避免重复计数。
所以处理分类变量的检验是基于变量计数,而不是变量本身的实际值。...主要区别在于,独立性检验必须在二维表格中计算每个单元格的预期计数,而不是一维表格。要获得单元格的预期计数,需要将该单元格的行总计乘以该单元格的列总计,然后除以观察的总数。...可以通过np.outer()除以总的观察数快速获得表中所有单元格的理论值 expected = np.outer(voter_tab["row_totals"][0:5],...7.169321280162059 注意:调用此处使用sum()方法两次:第一次是获取列和,第二次是将列和相加,返回整个二维表的总和。...在本例中,有一个5x3表,因此df=4x2=8。
可以通过加载其它Python对象的值创建DataFrames。数据值也可以从一系列非Python输入资源加载,包括.csv文件、DBMS表、网络API、甚至是SAS数据集(.sas7bdat)等等。...解决缺失数据分析的典型SAS编程方法是,编写一个程序使用计数器变量遍历所有列,并使用IF/THEN测试缺失值。 这可以沿着下面的输出单元格中的示例行。...缺失值对于数值默认用(.)表示,而字符串变量用空白(‘ ‘)表示。因此,两种类型都需要用户定义的格式。...在这种情况下,行"d"被删除,因为它只包含3个非空值。 ? ? 可以插入或替换缺失值,而不是删除行和列。.fillna()方法返回替换空值的Series或DataFrame。...正如你可以从上面的单元格中的示例看到的,.fillna()函数应用于所有的DataFrame单元格。我们可能不希望将df["col2"]中的缺失值值替换为零,因为它们是字符串。
请注意,稍后在游戏代码中,我们将使用与数组索引相同的计数器变量' r '。...另外,我们需要一个数组变量来存储每个单元格的值,我们将使用预定义的全局数组变量 room 和一个索引变量 r。 随着 r 的增加,我们遍历这些单元格,一路上丢下地雷。...如果不是,程序将显示警告,然后玩家选择另一个坐标。 在此代码中,如果单元格包含一个点(.) ,则该单元格可用。假设可用,将重置单元格中的值并更新分数。...如果一个单元格由于不包含点而不可用,则设置一个变量not_allowed 。 为简便起见,我留给您看一下游戏源代码,以了解游戏逻辑中警告语句的内容。...为了实现这一点,我创建了一个名为free_fields的变量,最初将其设置为0。在一个for循环中,该循环由我们的雷区中剩余的可用单元格/字段数定义。 如果单元格包含点(.)
如果你是一个有经验的 Bash 程序员,希望在提高技巧的同时乐在其中,那么请跟着我编写一个你的运行在终端中的扫雷游戏。完整代码可以在这个 GitHub 存储库中找到。...做好准备 在我编写任何代码之前,我列出了该游戏所必须的几个部分: 显示雷区 创建游戏逻辑 创建判断单元格是否可选的逻辑 记录可用和已查明(已排雷)单元格的个数 创建游戏结束逻辑 显示雷区 在扫雷中,游戏界面是一个由...(我编写这个游戏纯属娱乐,但如果你能将它修改的更好,我也是很乐意的。) 下面这些变量在整个过程中是不变的,声明它们是为了随机生成数字。...在这段代码中,单元格是否可选,是由数组里对应的值是否为点(.)决定的。如果可选,则重置单元格对应的值,并更新分数。反之,因为其对应值不为点,则设置变量 not_allowed。...为了实现这一功能,我创建了一个叫 free_fields 的变量,初始值为 0。用一个 for 循环,记录下游戏界面中可选择单元格的数量。 如果单元格所对应的值为点(.)
7.用CountIF 和 SumIF 概括统计数据 CountIF 是一个函数算法,统计在特定范围内,满足既定条件的单元格的个数。其中的第一个参数,是你想统计的范围;而第二个参数则是你的条件。...SumIF函数的用法是根据指定条件对若干单元格、区域或引用求和。下面是我们在计算每一个作者的总体浏览数。范围上来说,作者名字的范围格式前后并不一致,但总数相同。...此处我们可以看到一个数据表,第一列是法学院排名。我们可以用VLOOKUP来创建一个排名前五的学校的查询。...第一个参数得输入要查找的值,此处我们使用了我们需要的排名数。第二个参数这里,输入我们要查找的区域(绝对引用)。第三个参数,需要输入返回数据在查找区域的第几列数。...9.用“&”合并单元格 我们现在拥有一列姓和一列名,我们可以使用“&”符号来创建一列合并姓和名的数据。在Excel中,“&”指将两个或两个以上的文本合并。别忘了在姓和名中间键入一个空格。
我们选择行标签的单元格,右键选择“创建组”: ? 点击创建组之后会出现如下选项卡: ?...分组完了,下面就是个性化计算,我们要计算涉及到的核心字段是销售额,在已经分好组的情况下,只需要把销售额字段拖到值的位置: ? 数据透视表随之改变,大功告成。。。了吗? ?...2.5 FIND,SEARCH,MID 上面LEFT和RIGHT是很粗暴的提取方法,而MID就显得更加温婉和灵活了, ? 有一串这样的文本,而我们只想要提取其中的数字部分,该怎么做呢?...我们发现两个区域的表有一个交集,他们有共同的产品ID,因此,我们可以通过ID作为纽带,将区域1里面的销量、销售额数据匹配到区域2中。 先做销量,我们在J2单元格输入如下公式: ?...上面数据中,"SW0001"在F2单元格,在COUNTIF函数第二个参数直接输入他所在的位置F2,等同于输入了“=SW0001"。
数组的特点: 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。...动态初始化中,只确定了元素的个数(即数组的长度),而元素值此时只是默认值,还并未真正赋自己期望的值。真正期望的数据需要后续单独一个一个赋值。...本地方法栈 当程序中调用了native的本地方法时,本地方法执行期间的内存区域 程序计数器 程序计数器是CPU中的寄存器,它包含每一个线程下一条要执行的指令的地址 4....或者说一共二维表有几行 //其中,n:表示每一个一维数组的元素有多少个。...或者说每一行共有一个单元格 //此时创建完数组,行数、列数确定,而且元素也都有默认值 //(2)再为元素赋新值 二维数组名[行下标][列下标] = 值; 格式2 :不规则 ,每一行的列数不一样
7用CountIF 和 SumIF 概括统计数据 CountIF 是一个函数算法,统计在特定范围内,满足既定条件的单元格的个数。其中的第一个参数,是你想统计的范围;而第二个参数则是你的条件。...SumIF函数的用法是根据指定条件对若干单元格、区域或引用求和。下面是我们在计算每一个作者的总体浏览数。范围上来说,作者名字的范围格式前后并不一致,但总数相同。...8用VLOOKUP找出你想要的数据 VLOOKUP是按列查找函数,最终返回该列所需查询列序所对应的值。此处我们可以看到一个数据表,第一列是法学院排名。...第一个参数得输入要查找的值,此处我们使用了我们需要的排名数。第二个参数这里,输入我们要查找的区域(绝对引用)。第三个参数,需要输入返回数据在查找区域的第几列数。...9用“&”合并单元格 我们现在拥有一列姓和一列名,我们可以使用“&”符号来创建一列合并姓和名的数据。在Excel中,“&”指将两个或两个以上的文本合并。别忘了在姓和名中间键入一个空格。
car包中的scatterplotMatrix()函数也可以生成散点图矩阵,并有以下可选操作: 以某个因子为条件绘制散点图矩阵; 包含线性和平滑拟合曲线; 在主对角线放置箱线图、密度图或者直方图; 在各单元格的边界添加轴须图...spread = FALSE选项表示不添加展示分散度和对称信息的直线,lty.smooth =2设定平滑(loess)拟合曲线使用虚线而不是实线。 ?...旋转三维散点图 用rgl包中的plot3d()函数创建可交互的三维散点图。你能通过鼠标对图形进 行旋转。函数格式为:plot3d(x,y,z) 其中x、y和z是数值型向量,代表着各个点。...另外,函数中还有可用于交互式识别点的选项。 11.1.4 气泡图 三维散点图来展示三个定量变量间的关系。现在介绍另外一种思路:先创建一个二维散点图,然后用点的大小来代表第三个变量的值。...用面积而不是半径来表示第三个变量,那么按照圆圈半径的公式(r = A / π )变 换即可:Symbols(x,y,circle=sqrt(z/pi))z即第三个要绘制的变量。
EXCEL并不适用于处理海量数据,虽然在某种程度上,可以通过一些其他的方法让EXCEL处理大型数据集,但我更推荐使用R或Python去处理,而不是EXCEL。...按回车键后,在City字段下将会返回所有Customer id为1的城市名称,然后将公式复制到其他单元格中,从而匹配所有对应的值。...EXCEL的数据透视表将会帮你轻松的找到这些问题的答案。数据透视表是一款用于汇总如:计数,求平均值,求和,以及其他依据相关选择进行特征计算的功能。...你也可以选择计数、平均值、最小值、最大值以及其他的统计指标。 2.创建图表:在EXCEL里面创建一个图表,你只要选择相应的数据,然后按F11,就会自动生成系统默认的图表。...除此之外,你可以手工改变不同的图表类型。如果你倾向于在当前工作表中生成图表,可以按ALT+F1,而不是F11。 当然,在任何一种情况下,只要你创建了图表,就可以通过定义特定数据源来展示期望的信息。
(下面程序控制结构图帮助回顾) For each...next语句是在集合的对象中循环,对集合中满足某种条件的对象或所有对象执行操作。...循环中Sheets(1).cells(i, 1)的值等于 sht.Name 。 示例二 将模板表中的模板单元格“a1:b4"单元格复制到其他所有表格中。...如果不是“模板“工作表”,就将“模板”表的模板单元格通过copy方法复制到其他表格中。...最后循环结束后,判断i变量的值是否为0,来判断工作表是否存在。如果i>0,则所查工作表存在。 (注意判断i>0的语句,需要在循环结束之后再判断,这种累加的用法在VBA代码中也经常用到。)...rng,通过for each...next语句在Range("a1:b4")单元格区域中循环,设置它们的值和背景色。
领取专属 10元无门槛券
手把手带您无忧上云