首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

131-R茶话会23-R的随机数有点坑

前言 最近我在复现一篇文章的操作。发现每一次生成的结果都有所不同。 难道是我的操作出了问题?难道是我用的R 包版本不对,函数不同?难道是随机数的问题? 后来发现,果然是随机数的问题。...即使更换其他函数,也不例外: > set.seed(33) > runif(3) [1] 0.4459405 0.3946503 0.4837289 > set.seed(33) > runif(3)...那么如果不在lapply 中特别声明,或者仅仅在全局声明了一次set.seed,那么你就等着无法重复的随机结果吧: > set.seed(32) > lapply(1:3, function(x) runif...如果是在函数中呢?...此外,我也推荐大家在写涉及到随机数的代码时,使用withr::with_seed,起码告诉并且提醒自己,哪个种子,对应哪个随机函数。防止被吞,或者吞了其他人的种子。

55310

效应量的计算——Cohens d statistic

特别是在meta分析中,其目的是将多个效应量结合起来,因此效应量的标准误差(S.E.)至关重要。 效果量的结果有助于解释研究的实质意义,而不是统计意义的显著性。...与各种统计检验的关系 基于样本的效应量不同于假设检验中使用的检验统计量,因为它们只是估计了关系的强度,而没有指定一个显著性水平来反映所观察到的关系的大小是否可能是偶然的。...如果样本量足够大,非空统计比较总是会得到统计上显著的结果,除非总体效应量恰好为零(即使效应量恰好为零,也会由第一类错误而显示统计上的显著性)。...例如样本量为1000,皮尔逊相关系数为0.01的样本也会具有统计学意义。 标准的效应量包括r, Cohen's d和odds ratio。不标准的效应量包括组间均值或非标准化回归系数的差异。...以下情况要使用标准的效应量: 1.研究变量的度量没有内在意义 2.综合多项研究 3.综合不同尺度的研究 4.群落中由于变化而产生的效应大小 目前已经有50~100种表征效应量的方法; 如皮尔森相关的r值

11.1K53
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R语言使用 LOWESS技术图分析逻辑回归中的函数形式

    p=6322 当我们在回归模型中包含连续变量作为协变量时,重要的是我们使用正确的(或近似正确的)函数形式。...对于我们通常使用逻辑回归建模的二元结果,事情并不那么容易(至少在尝试使用图形方法时)。首先,Y对X的散点图现在完全没有关于Y和X之间关联的形状的信息,因此在逻辑回归模型中应该如何包含X....为了说明,使用R let模拟一些(X,Y)数据,其中Y遵循逻辑回归,其中X在模型中线性进入: set.seed(1234) n < - 1000 x < - rnorm(n) xb 在R中我们可以写一个简短的函数来做同样的事情: logitloess < - function(x,y,s){ logit < - function(pr){ } if(missing(s))...即使有大型数据集,黄土图中建议的功能形式也可能看起来很奇怪,纯粹是因为不精确,因为X空间/分布的某些部分没有太多数据。

    2.4K20

    R语言在逻辑回归中求R square R方

    p=6295 并非所有结果/因变量都可以使用线性回归进行合理建模。也许第二种最常见的回归模型是逻辑回归,它适用于二元结果数据。如何计算逻辑回归模型的R平方?...麦克法登R平方 在R中,glm(广义线性模型)命令是用于拟合逻辑回归的标准命令。据我所知,拟合的glm对象并没有直接给你任何伪R平方值,但可以很容易地计算出McFadden的度量。...”) 1-logLik(MOD)/ logLik(nullmod) 为了了解预测器需要获得某个McFadden的R平方值的强度,我们将使用单个二进制预测器X来模拟数据, 我们首先尝试P(Y = 1 |...0.1320256(df = 2) 因此,即使X对Y = 1的概率有相当强烈的影响,McFadden的R2也只有0.13。...要增加它,我们必须使P(Y = 1 | X = 0)和P(Y = 1 | X = 1)更加不同: set.seed(63126) n < - 10000 x < - 1 *(runif(n)<0.5

    4.4K20

    R语言中管道操作符 %>%, %T>%, %$% 和 %%

    不知道大家平时在使用R的时候有没有见到过这样一些比较奇怪的操作符,%>%, %T>%, %$% 和 %%。今天小编就来跟大家掰次掰次。...2.求这个10000个数的绝对值,然后乘以50。 3.把结果转换成一个100行100列的矩阵。 4.计算矩阵中每行的均值,并四舍五入只保留整数。 5.把结果除以7求余数,并话出余数的直方图。...正常青年一般会这样做 #设置种子序列,保证结果可重复 set.seed(123) n1<-rnorm(10000) n2<-abs(n1)*50 n3结果转换成一个100行100列的矩阵。 4.计算矩阵中每行的均值,并四舍五入只保留整数。 5.把结果除以7求余数,并话出余数的直方图。...比如,我们获得一个data.frame类型的数据集,通过使用 %%,在右侧的函数中可以直接使用列名操作数据。

    4.5K30

    R语言vs Python:数据分析哪家强?

    我们会平行使用Python和R分析一个数据集,展示两种语言在实现相同结果时需要使用什么样的代码。这让我们了解每种语言的优缺点,而不是猜想。...通过set.seed设置随机种子以使结果可复现。 在Python中,我们使用了主要的Python机器学习包scikit-learn拟合k-means模型并得到类别标签。...在R中,有很多包可以使抽样更容易,但是没有一个比使用内置sample函数更简洁。在两个例子中,我们都设置了随机种子以保证结果的可重复性。...我们得到类似的结果,总体来说在Python中进行统计分析稍有点困难,一些R中存在的统计方法也没有存在于Python。...R代码比Python更复杂,因为它没有一个方便的方式使用正则表达式选择内容,因此我们不得不做额外的处理以从HTML中得到队伍名称。R也不鼓励使用for循环,支持沿向量应用函数。

    3.5K110

    【Python环境】R vs Python:硬碰硬的数据分析

    我们会平行使用Python和R分析一个数据集,展示两种语言在实现相同结果时需要使用什么样的代码。这让我们了解每种语言的优缺点,而不是猜想。...通过set.seed设置随机种子以使结果可复现。 在Python中,我们使用了主要的Python机器学习包scikit-learn拟合k-means模型并得到类别标签。...在R中,有很多包可以使抽样更容易,但是没有一个比使用内置sample函数更简洁。在两个例子中,我们都设置了随机种子以保证结果的可重复性。...我们得到类似的结果,总体来说在Python中进行统计分析稍有点困难,一些R中存在的统计方法也没有存在于Python。...R代码比Python更复杂,因为它没有一个方便的方式使用正则表达式选择内容,因此我们不得不做额外的处理以从HTML中得到队伍名称。R也不鼓励使用for循环,支持沿向量应用函数。

    1.5K90

    独家 | R语言中K邻近算法的初学者指南:从菜鸟到大神(附代码&链接)

    在机器学习当中,交叉验证(CV)在模型选择中起着关键作用,并且拥有一系列的应用。事实上,CV有着更加直观的设计理念,并且也很直观。 简要介绍如下: 1. 将数据分成K个均匀分布的块/层 2....留一交叉验证法要求较大的计算力,并且如果你的数据集过大,该法可能会无法终止。 退一步来讲,即使没有最优k值,也不能说k值越大更好。 为了选择最合适的k值,我们必须在偏差和方差之间权衡。...事实上,不均匀分布可能会更偏好非参数ML分类器,在我的另一篇文章(使用5个分类器对罕见事件进行分类,https://medium.com/m/global-identity?...根据经验法则,我们通常使用“80-20”比:我们用80%的数据训练ML用剩余20%进行测试。而时间序列数据略有不同,我们将比例改为90%对10%。...训练模型 让我们编写一个新的函数(“calc_error_rate”)来记录错误分类率。该函数计算当使用训练集得到的预测标签与真正的结果标签不相匹配的比率。它测量了分类的正确性。

    1.3K10

    103-R茶话会18-随机数和取子集是天生不和吗?

    sample 改变数据框并不是随机的 虽然我们设定了种子set.seed(1),可最终出的结果确实离谱他奶奶给离谱开门,离谱到家了。 可如果是重复这个过程呢。...NA NA NA 重复之后,亦是如此,使用rep 也并非赋值长度的问题: > my_data4 <- my_data3 > set.seed(1) > my_data4[sample(10,5...[tmp,]$Wind [1] 20.1 11.5 8.6 7.4 8.0 而上述奇怪的结果,怀疑和取子集有关: > my_data4[c(4,4,4),] Ozone Solar.R...总结 至此我们可以判断,我们实际设定的种子set.seed(1),并没有第一步就被数据框进行取子集操作,其使用的实际是该种子的下一批种子。...也就是说,如果需要使用随机数对数据框进行取子集操作,最好还是先将随机结果赋值,防止这样的意外。 那么下一个问题,数据框为什么会被改变呢?这我就不知道了。 欢迎来后台找我讨论。

    37820

    ISLR_LinearRegression

    在一个模型中混合 每个单独的模型中忽略了其他predictor的作用,这可能会造成很大的misunderstanding。...答案是:即使简单线性回归说两者有关系,但是要根据多元线性回归的结果,两者并没有关系。 解释是:sale和newspaper并没有关系。...同时,也可以改变编码值,对结果无影响,但是对于模型的解释有影响。 ?...error term的相关一般在time series中出现的较多。 同时,在比较身高与体重的关系中,如果调查的对象是一家人或者同一个环境中的人的话,也会出现error的相关。 ?...原因是数据量太少,比如100个数据,在二维空间中可能很密集,但是在100维空间中,即使距离最近的点可能也很远,这叫做curse of dimensionality,因此一般线性的方法会更好一些。

    1.2K50

    深度 | 在R中估计GARCH参数存在的问题(续)

    本期作者:徐瑞龙 未经授权,严禁转载 本文承接《在 R 中估计 GARCH 参数存在的问题》 在之前的博客《在 R 中估计 GARCH 参数存在的问题》中,Curtis Miller 讨论了 fGarch...本文承接之前的博客,继续讨论估计参数的稳定性,这次使用的是前文中提到,但没有详尽测试的 rugarch 包。...rugarch 包的使用 rugarch 包中负责估计 GARCH 模型参数的最主要函数是 ugarchfit,不过在调用该函数值前要用函数 ugarchspec 创建一个特殊对象,用来固定 GARCH...极端大样本 下面将样本总数扩充至 10000,连续估计的样本数从 5000 升至 10000,情况有会怎么样?...结论 在一般大小样本量的情况下,rugarch 和 fGarch 的表现都不好,即使改变函数的最优化算法(相关代码未贴出)也于事无补。

    2K30

    R语言Poisson回归的拟合优度检验

    在这篇文章中,我们将看到测试通常不会按预期执行,因此,我认为,应该谨慎使用。 偏差拟合度检验 由于偏差度量衡量了模型预测与观察结果的接近程度,我们可能会考虑将其作为给定模型拟合度检验的基础。...虽然我们希望我们的模型预测接近观察到的结果,但即使我们的模型被正确指定,它们也不会相同 - 毕竟,模型给出了观察所遵循的泊松分布的预测平均值。...饱和模型可以被视为一个模型,它为每个观察使用不同的参数,因此它具有参数。如果我们提出的模型具有参数,这意味着将偏差与参数的卡方分布进行比较。...在R中执行拟合优度测试 现在看看如何在R中执行拟合优度测试。...当我运行这个时,我得到了0.9437,这意味着偏差测试错误地表明我们的模型在94%的情况下被错误地指定 为了在平均值较大时查看情况是否发生变化,让我们修改模拟。

    2.2K10

    从零开始统计学 01 | 假设检验

    在统计学中,要确定最终的结果,需要先提出假设。 假设指的是当我们没有足够的证据支持一个结果时,先可以假定一个结果。...在实际的统计工作中会遇到不同的样本量和需求,对于不同的样本,我们需要提出不同的假设形式: 样本(Sample):研究中实际观测或调查的一部分个体叫样本,这些个体的数目叫样本容量(sample size...在设定显著性水平a作为阈值时,会遇到两类错误,导致结果错误: 第一类错误(I型错误,标记为α):也叫“弃真”,上面提到的两组表达量平均值本来是相等的。...但是在判断时,认为是结果有差异的,推翻了本来正确的原假设。 第二类错误(II型错误,标记为β):也叫“取伪”,类似于上面,但是这里结果接收了错误的原假设。...依据不同的数据分布,选择合适的检验方法,我们会得到相应的P值,最终我们会根据P值来确定最后的结论。

    79210

    R语言社区发现算法检测心理学复杂网络:spinglass、探索性图分析walktrap算法与可视化|附代码数据

    nNd <- 20 set.seed(1) grh2<-grph set.seed(2) gr3<-grph 虽然项目之间的边显然是相同的,但节点的位置却有很大的不同。...我运行该算法1000次,看看得到的聚类数量的中位数,然后找到一个能重现这个聚类数量中位数的种子。我在一篇论文中使用了这个解决方案(注意,使用不同的种子,解决方案看起来是不同的)。...在使用walktrap算法的情况下,这应该会得到与igraph相同的结果(并且细节设置相同,比如步骤数)。 优点是--与特征值分解不同--它直接显示哪些项目属于哪些社群。...结论 如果你对网络中的项目之间的统计社区感兴趣,不要只在视觉上检查你的图。当我为论文做这件事时,我使用上面描述的三种方法,通常它们的结果相当相似。显然,你也可能对理论或概念更感兴趣。...python图工具中基于随机块模型动态网络社团检测 在R语言中使用航空公司复杂网络对疫情进行建模 采用SPSS Modeler的Web复杂网络对所有腧穴进行分析

    48730

    R语言贝叶斯Metropolis-Hastings采样 MCMC算法理解和应用可视化案例

    在种子为8的情况下从当前点3运行onemh_ieration()可以复制上面的结果: r set.seed(8) one_h_itraton(w = 1, current = 3) 如果我们使用...利用for循环,在1到N的每个停留点i中运行on_m_iteaion(),并将结果的next_stop存储在mu向量的第i个元素中。...要查看此函数的实际应用,请使用m_our()模拟长度为N = 5000的Markov链,利用半宽度w=1的均匀提议模型: r set.seed(84735) mh_sulio_1 使用Beta(1,1),即Unif(0,1)的建议模型进行了5000步的Beta-Binomial后验分布遍历 R set.seed(84735) bebn_im 的单参数模型设置中,还是在更复杂的模型设置中,Metropolis-Hastings算法通过两个步骤之间的迭代产生了后验分布的近似样本: 通过从提议概率密度函数中抽取一个新的链位置来提出一个新的位置

    25110

    如何选择聚类模块数目

    三种聚类方法的结果 这里演示了stat包中的k-means(),cluster包中的pama()的使用,把上面的归一化后的数据分成3个cluster。...上面的选择最佳k值的过程也可以直接利用一个叫factoextra的R包来实现,使用它的提供的fviz_nbclust()函数 fviz_nbclust(x, FUNcluster, method=c('...最终结果也和k-means的聚类结果类似。最后再试试用层次聚类的结果来试试看。...在零假设的条件下,Gap值可以衡量其与参考数据偏离程度。从不同的k值中选择Gap值最大的k值,记为$\hat k$,这时的聚类结果与均匀分布的参考数据集相差最大,可以选为最佳聚类数目。...对3种聚类方法进行测试: library(cluster)set.seed(123)# 一般认为B=500就能得到一个比较好的结果,这里设为50以提高计算速度gap_stat = clusGap(iris.scaled

    3.9K100

    R语言调整随机对照试验中的基线协变量

    参与者被随机分配到两个(有时更多)的群体这一事实确保了,至少在期望中,两个治疗组在测量的,重要的是可能影响结果的未测量因素方面是平衡的。...即使在各组之间的某些基线变量出现不平衡的情况下也是如此。这是因为偏差被定义为估计量(由我们的统计程序给出,如线性回归)是否在重复样本中具有等于目标参数的期望。...有时估计值会高于真实值,有时低于真实值,但只要平均值等于目标值,我们就会说估算值是无偏见的。 协变量调整 现在让我们考虑调整一个或多个基线协变量,在我们的分析中随机化时。...该回归模型假设Y的平均值线性地取决于X,并且该关系的斜率在两组中是相同的。无法保证这些假设在任何特定研究中都能成立。因此,如果这些假设不成立,我们可能会担心使用协变量调整分析。...协变量调整与二元结果 前面的讨论是在连续结果的背景下进行的,我们通常会使用线性回归结果模型。如果结果是不同类型怎么办?也许最常见的是二元结果。在这种情况下,事情有点复杂。

    1.7K10

    单细胞分析十八般武艺:NMF

    单细胞测序技术的发展日新月异,新的分析工具也层出不穷。每个工具都有它的优势与不足,在没有权威工具和流程的单细胞生信江湖里,多掌握几种分析方法和工具,探索数据时常常会有意想不到的惊喜。...这些方法的共同特点是,即使初始矩阵 V 元素是非负的,分解出来的因子 W 和 H 中的元素往往含有负值元素。...NMF约束了原始矩阵V和分解矩阵W、H的非负性,这就意味着只能通过特征的相加来实现原始矩阵V的还原,最终导致的结果是: 非负性会引发稀疏 非负性会使计算过程进入部分分解 给大家对比一下PCA与NMF分解图像的效果...因为NMF一般是从随机数开始,通过迭代算法收敛误差的方法求出最优W和H矩阵,所以seed不同最后的结果也不同。...),这样运行一次也能得到最优解。

    12.6K75

    【观点】社会网络分析:探索人人网好友推荐系统

    也就是说,本文分析的网络是作者自己的好友圈子,读者看了这些分析结果或许会觉得索然无味,感兴趣的同学可以分析一下自己的社交网络,看看是否会有类似的结果。...本文读取数据的过程借助了一款命令行浏览器cURL,这个浏览器在R中可以用RCurl包实现,简要的中文介绍建议参考medo的《R不务正业之RCurl》。...通过RCurl的简单编程,我们可以在R中实现登录人人网、发布状态以及读取页面数据等功能。...在igraph包中,betweenness()函数能够简单地计算网络中各个节点的中间度。...上述推荐的机制较为简单,但是在拥有大量真实关系的网络中,推荐的效率还是比较高的。当然,我们也可以开展对文本与行为的挖掘,以得到超越真实线下关系的推荐,但本文尚未做这方面的尝试。

    1.1K120

    机器学习Caret--R处理不平衡数据

    image.png 2.2 AUPRC曲线 在不平衡类的情况下使用AUC时也会产生误差,见 Issues with using ROC for imbalanced classes,谨慎选择AUC作为评价指标...:对于数据极端不平衡时,可以观察观察不同算法在同一份数据下的训练结果的precision和recall,这样做有两个好处,一是可以了解不同算法对于数据的敏感程度,二是可以明确采取哪种评价指标更合适。...我们可以使用R中的PRROC包来计算5个模型的精确查全率曲线下的面积area under the precision-recall curve (AUPRC)。...然而,rose采样分类器在这些预测中的效率更高,因为预测为少数群体类的观察结果中有50%实际属于少数群体类,而对于原始分类器,预测为少数群体类的观察结果中只有25%实际属于少数群体类。...在尝试加权或抽样的同时,我们也建议在评估一个有不平衡类的分类器的性能时,不要只依赖AUC,因为它可能是一个误导性的指标。

    89020
    领券