Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何处理;零星的;多重措施?_R_Data Structures_Statistics - Fatal编程技术网

R 如何处理;零星的;多重措施?

R 如何处理;零星的;多重措施?,r,data-structures,statistics,R,Data Structures,Statistics,我发现自己在分析我真的不知道如何处理的数据。我接受任何建议,即使是一个关键字也会有所帮助。理想情况下,我正在寻找在JAG上运行贝叶斯层次模型的提示(我正在研究R和RJAG) 因此,假设有10个人报告他们对5个项目的看法。 困难在于,对于某些人来说,我对一个(或多个)项目有两个或三个感知,在其他情况下,我可能有NAs。因此,数据的结构本质上是不平衡的。以下是数据结构的示例(id是标识符,Kn是被测量的项目): 我提出的解决方案是为那些有多个测量值的个体复制行,并用唯一可用的测量值“填充”除多次测量

我发现自己在分析我真的不知道如何处理的数据。我接受任何建议,即使是一个关键字也会有所帮助。理想情况下,我正在寻找在JAG上运行贝叶斯层次模型的提示(我正在研究R和RJAG)

因此,假设有10个人报告他们对5个项目的看法。 困难在于,对于某些人来说,我对一个(或多个)项目有两个或三个感知,在其他情况下,我可能有
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