【发布时间】:2019-05-07 13:47:44
【问题描述】:
我有一个包含 80 个主题的数据框,每个主题应该有 50 个观察值。然而,由于以前在数据处理中应用了一些排除标准,现在,并不是每个受试者都有 50 个观察值。但是为了应用一些后续的数据分析过程,我需要数据框为 80 * 50。所以,我需要将那些缺失的行加回去,并将它们的值分配为 0。我想知道如何实现这一点。
我用一个简化的情况来说明这一点。 假设数据框有三列:Subj、TimeBin 和 Value。 假设有3个Subjs:S001、S002、S003;并且有 6 个 TimeBins:T0、T1、T2、T3、T4、T5。现在,S001 和 S002 具有所有必要的观测值,但 S003 缺少 T2 和 T5 的观测值。我应该如何弥补这两个缺失的行?
谢谢!
【问题讨论】:
-
数据框是一个向量列表,其中每个向量必须具有相同的大小。但是,如果您正在处理不是数据框的实际列表,则无需再担心此约束。也许您的问题可以通过列表和一些应用功能更容易解决?
-
tidyr 包中的函数
complete()听起来可能就是您要找的。span> -
每个主题总是有 6 个时间段吗?如果是,对我来说,这看起来像是填补缺失值问题
df[is.na(df)] <- 0 -
不清楚您是否已经有一个 50x80 的数据框,或者您正在尝试从其他数据中生成它?
标签: r