R 如何处理;零星的;多重措施?
我发现自己在分析我真的不知道如何处理的数据。我接受任何建议,即使是一个关键字也会有所帮助。理想情况下,我正在寻找在JAG上运行贝叶斯层次模型的提示(我正在研究R和RJAG) 因此,假设有10个人报告他们对5个项目的看法。 困难在于,对于某些人来说,我对一个(或多个)项目有两个或三个感知,在其他情况下,我可能有R 如何处理;零星的;多重措施?,r,data-structures,statistics,R,Data Structures,Statistics,我发现自己在分析我真的不知道如何处理的数据。我接受任何建议,即使是一个关键字也会有所帮助。理想情况下,我正在寻找在JAG上运行贝叶斯层次模型的提示(我正在研究R和RJAG) 因此,假设有10个人报告他们对5个项目的看法。 困难在于,对于某些人来说,我对一个(或多个)项目有两个或三个感知,在其他情况下,我可能有NAs。因此,数据的结构本质上是不平衡的。以下是数据结构的示例(id是标识符,Kn是被测量的项目): 我提出的解决方案是为那些有多个测量值的个体复制行,并用唯一可用的测量值“填充”除多次测量
NA
s。因此,数据的结构本质上是不平衡的。以下是数据结构的示例(id是标识符,Kn是被测量的项目):
我提出的解决方案是为那些有多个测量值的个体复制行,并用唯一可用的测量值“填充”除多次测量值之外的项目行。举个简单的例子,让个人1对项目K1有两个可用的度量(例如1和2):
id
是单个标识符,现在id==1对K1有两种不同的度量。我不能取平均值,我真的需要一种方法来系统地包含这些额外的信息。然后,我在JAGS中运行一个层次模型,使用嵌套索引为每一个单独的行计算一个系数,而不是为每一行计算一个系数。我想知道另一种选择可能是使用“选择器”,一个由0
s和1
值组成的矩阵,表示所测量的项目。有可能在Jags中实现这一点吗?我在任何地方都找不到类似数据结构的例子。这可能类似于一种非常不平衡的重复测量数据结构,但实际上测量是同时进行的。只需使用id、测量id和值创建一个长表,而不是使用NA的宽表:
n.subjects <- 10
new.df <- data.frame( id = rep(old.df$id, 6),
measure_id = rep(1:6, each=n.subjects)
values = c(old.df$K1,
old.df$K2,
old.df$K3,
old.df$K4,
old.df$K5,
old.df$K6))
df <- df[!is.na(df$value)] # remove measurements with NA's
n.受试者之间有什么区别??那安娜呢?你说5项,但有6个变量。你是说你有6件物品吗?你有多喜欢使用JAGS?调整这些数据,使其在重复测量方差分析中工作(取决于缺失程度)可能是微不足道的。或者,尽管假设很可能会被违反(如果没有违反的话),但您很可能会得到一个lme4混合效应模型,为您提供某种分析。不管怎样,几乎可以肯定的是,最好不要为了让数据更快乐而编造观察结果。@pavel:“?”代表“我应该使用值1还是2”,我可以改变它只是指向problem@rpierce:JAGS允许我合并先前的信息。我同意你对副本的观点。我想补充一点,帕维尔先前的评论可能会起到一定作用,即,如果你不小心存储了??而不是NA。您可能仍然有问题。不,??
只有说明性字符,不在代码上。
[id] [K1] [K2] [K3] [K4] [K5] [K6]
[1] 1 1 -1 2 3 -3 4
[2] 1 2 -1 2 3 -3 4
[3] 2 NA -2 1 2 -4 5
[4] 3 0 NA NA 3 -2 3
[5] 4 NA -2 2 NA NA 5
[6] 5 2 -1 3 4 -5 4
[7] 6 1 NA 1 1 -1 3
n.subjects <- 10
new.df <- data.frame( id = rep(old.df$id, 6),
measure_id = rep(1:6, each=n.subjects)
values = c(old.df$K1,
old.df$K2,
old.df$K3,
old.df$K4,
old.df$K5,
old.df$K6))
df <- df[!is.na(df$value)] # remove measurements with NA's