频率表不适用于子集

时间:2017-05-11 17:37:40

标签: r subset dummy-variable

我有一个数据集,并定义了不同的子集,以便查看虚拟变量的频率。

copying <- subset (reversals, Task =='copy')
writing <- subset (reversals, Task =='write')

编辑:我的数据如下所示:

ID   task  X1  X2  X3  X4
 1   copy   0   1   0   0
 1   write  1   0   0   1
 2   copy   0   1   1   0
 2   write  1   1   1   0
 3   copy   0   1   0   0
 3   write  0   0   0   1

我在完整的数据集和子集上运行了这段代码:

hfgk.reversals0 <- as.data.frame(t(sapply(reversals[,11:26], table)))
hfgk.reversals0$Sum <- rowSums(hfgk.reversals0)
hfgk.reversals <- data.frame(hfgk.reversals0)
hfgk.reversals

hfgk.reversals0.copying <- as.data.frame(t(sapply(copying[,11:26], table)))
hfgk.reversals0.copying$Sum <- rowSums(hfgk.reversals0.copying)
hfgk.reversals.copying <- data.frame(hfgk.reversals0.copying)
hfgk.reversals.copying

对于完整的数据集,我得到了一张漂亮的表格:

    X0  X1  Sum
X1  1600  16  1616
X2  1614  2   1616

但不适用于子集:

X1 X10 X12 X14 X15 X16 X18 X2 X3 X4 X44 X5 X6 X7 X9 X17
 1 369, 1 370 370 370     370 370 370 366, 4 370 370 369, 1 368, 2 352, 18 370 366, 4 370

还包含正确的信息,但以某种方式结构不同。 对于第一个表,变量描述如下:X0:int 1600 1614,它看起来像子集:$ X1:'table'int [1:2(1d)] 369 1 - attr(*,dimnames)=清单1 ... $:chr“0”“1”

我非常感谢任何帮助,因为我并没有真正了解潜在的机制。

非常感谢你!

1 个答案:

答案 0 :(得分:0)

您是否尝试使用括号子集?

copying <- reversals[reversals$Task =='copy',]
writing <- reversals[reversals$Task =='write',]

您没有包含任何可重现的数据,因此我无法自行测试。