- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个相对较大的数据集(大约 273,744 条记录),其中包含人名和他们使用的屈光度:
Name | Dioptric | Gender | Town |
-----------------------------------
'John' | 0.25 | M | A |
'Jack' | 0.5 | M | C |
'John' | 25 | M | A |
'Mary' | 0.25 | F | C |
........
我需要找出姓名和屈光度之间是否存在相关性。我决定使用方差分析测试,因为有一个类别变量和一个定量变量。我的问题是数据集包含大量名称屈光组(大约 21,000 个),因此我不太确定如何实现
stats.f_oneway( Name_Dioptrics_GroupA, Name_Dioptrics_GroupB,....)
到目前为止我所做的是:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as stats
# read data
data = pd.read_csv("dioptrics-to-name.csv")
# prepare data
dioptrics = data['value']
name = data['firstName']
"""
group based on name-dioptrics power
"""
name_dioptric_frame = pd.DataFrame({"Name":name,"dioptrics":dioptrics})
name_dioptrics_groups = name_dioptric_frame.groupby("Name").groups
## break into name-dioptrics groups
## name_dioptrics_GroupA = dioptrics[name_dioptrics_groups["John"]]
## name_dioptrics_GroupB = dioptrics[name_dioptrics_groups["Jamie"]]
## and so on ....
print(stats.f_oneway( dioptrics[name_dioptrics_groups[ name_dioptrics_groups.keys()] ]) )
print(stats.f_oneway( dioptrics[name_dioptrics_groups[ [ name for x in name_dioptrics_groups() ] ] ]) )
这当然行不通......我在这里采取了正确的方法吗?
最佳答案
Pandas groupby函数允许您按几列对数据框进行分组。如果您使用列列表而不是一列,则可以使用此功能:
df = pd.DataFrame([
['WAKA', 2, '1'],
['WAKA-WAKA', 3, '7'],
['WAKKA', 1, '0'],
['WAKA', 2, '1'],
['WAKA-WAKA', 1, '7'],
['WAKKA', 1, '1'],
['WAKA', 5, '1'],
['WAKA-WAKA', 3, '7'],
['WAKKA', 1, '2'],
])
df.columns = ['name', 'd', 'info']
df.groupby(['name', 'd']).groups
将返回:
{('WAKA', 2): Int64Index([0, 3], dtype='int64'),
('WAKA', 5): Int64Index([6], dtype='int64'),
('WAKA-WAKA', 1): Int64Index([4], dtype='int64'),
('WAKA-WAKA', 3): Int64Index([1, 7], dtype='int64'),
('WAKKA', 1): Int64Index([2, 5, 8], dtype='int64')}
在您的代码中,您尝试仅按名称进行分组,而不按屈光度进行分组。
关于python - Python 中具有大量组的 Anova 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55849265/
我和我的一些学生已经在许多地方寻找解决这个问题的方法,但没有成功,而且实际上已经花费了几个月的时间。我一直被称为我不想使用的 lme 命令。提供的输出不是我的同事或我自己使用了超过 15 年的输出。此
我正在了解有关 lme4 包的更多信息,并且对 Bodo Winter's tutorial 表示赞赏和 this guide on Tufts .但是,这两个指南在建议确定固定效应显着性的方法时有所
我正在了解有关 lme4 包的更多信息,并且对 Bodo Winter's tutorial 表示赞赏和 this guide on Tufts .但是,这两个指南在建议确定固定效应显着性的方法时有所
我还没有完全了解 R 以及如何重新排列数据。我有一个需要重新排列的旧 SPSS 数据文件,以便我可以在 R 中进行方差分析。 我当前的数据文件具有以下格式: ONE <- matrix(c(1, 2,
我使用 car 包中的函数 Anova() 来执行类型 III 的测试。但是我不知道如何提取残差或如何获取参数估计的信息。 有没有什么方法可以做到这些,比如 residuals(model) 和 su
我希望能够将命名的模型列表(merMod 对象)传递给 anova() 并在输出中保留模型名称。这在使用 mclapply() 更有效地并行运行一批慢模型(如 glmers)的上下文中特别有用。我想出
我有一个问题。我想在一个脚本中运行 scipy.stats f_oneway() ANOVA,该脚本加载一个包含带有 numpy 数组的组的数据存档,如下所示: archive{'group1': a
我有一堆对数线性模型,就我们而言,它们只是 glm()对象调用 mx, my, mz .我想要一个格式很好的 xtable的偏差分析,所以我自然要执行 xtable(anova(mx, my, mz,
我已经引用了很多在线文献,但它增加了我的困惑。大部分讨论都过于技术性,涉及术语不平衡设计和 I、II 或 III 因子方差分析以及所有内容。 我只知道aov()用途 lm()在内部,对于带有因子的数据
我正在尝试在Matlab中使用4个因素进行重复测量方差分析,其中一个因素代表我希望作为随机因素的科目。 我的代码如下: [p,table,stats] = anovan(COORDS_SUBJ_II,
library(Matrix) library(lme4) data 。 (这应该记录在案,但我不能告诉。)对于您的示例, anova(model2,model1) 工作正常! “带有空指针的对象”错
library(Matrix) library(lme4) data 。 (这应该记录在案,但我不能告诉。)对于您的示例, anova(model2,model1) 工作正常! “带有空指针的对象”错
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我有一个相对较大的数据集(大约 273,744 条记录),其中包含人名和他们使用的屈光度: Name | Dioptric | Gender | Town | ------------------
我是 R 的新手。我正在处理一项任务。作业是创建 R 包来模拟方差分析表。我已经创建了任务中规定的所有必要功能。该函数计算出正确的值,但我无法像 R 内置的 anova() 函数那样显示方差分析表。这
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
在特征选择步骤下,我们要识别相关特征并去除冗余特征。 根据我的理解,冗余特征是依赖特征。 (所以我们只想将特征之间的独立特征留给它们自己) 我的问题是关于使用 sklearn 删除冗余特征和方差分析/
测试数据框: > foo x y z 1 0.191 0.324 0.620 2 0.229 0.302 0.648 3 0.191 0.351 0.626 4 0.229
我想知道如何在以下 MWE 中从 fm1 的输出中提取 Multivariate Tests: Site 部分。 library(car) fm1 F) Pillai 3
我正在查看 python 主题的统计数据。我用一只手就震惊了。 问题陈述: Perform ANOVA on the first linear model obtained while working
我是一名优秀的程序员,十分优秀!