问题描述
我是数据科学的新手,所以对于更高级的编码人员来说,这可能会很容易。 我想根据不同组(实验组与对照组)中测试的前后测量结果进行重复测量方差分析。每个科目只参加一个小组。
在我的 Pandas - df 我有以下列: “主题 ID”(唯一)、“条件”(实验或控制)、“测量前值”、“测量后值”...
subject_id = [1,2,3,4]
condition = [1,1,2]
pre = [1.1,2.1,3.1,4.1]
post = [1.2,2.2,3.2,4.2]
sample_df = pd.DataFrame({"Subject ID": subject_id,"Condition": condition,"Pre": pre,"Post": post})
sample_df
我如何使用 ANOVA 进行分析? 我见过的包使用数据框,其中 dep 变量位于一列中,而在我的数据框中,我要评估的依赖度量位于两列中。我是否需要添加另一列,指定每个值和条件的值是前置还是后置。 有没有“方便”的功能来做这样的事情?
具体来说,输出需要如下所示:
subject_id_new = [1,4,4]
condition_new = [1,2]
measurement = ["pre","post","pre","post"]
value = [1.1,1.2,4.1,4.2]
new_df = pd.DataFrame({"Subject ID":subject_id_new,"Condition": condition_new,"Measurement": measurement,"Value": value})
非常感谢。
解决方法
其实我找的是:
sample_df.melt(id_vars=['Subject ID',"Condition"])
这会导致数据框中有一列指定值所指的测量点。