[R] How to create an array of list?
Gang Chen
gangchen at mail.nih.gov
Thu Nov 8 22:51:46 CET 2007
I have trouble creating an array of lists? For example, I want to do
something like this
clist <- array(data=NA, dim=c(7, 2, 3));
for (n in 1:7) {
for (ii in 1:2) {
for (jj in 1:3) {
if (cc[n, ii, jj] == "0") { clist[n, ii, ][[jj]] <- list(levels
(MyModel[,colnames(MyModel)[jj+1]])); }
else { clist[n, ii, ][[jj]] <- cc[n, ii, jj]; }
names(clist[n, ii, ][[jj]]) <- colnames(MyModel)[jj];
}
}
}
but I get an error:
Error in `*tmp*`[n, ii, ] : incorrect number of dimensions
Is it because each list has different number of components? The two
variables involved in the loop, character matrix cc and dataframe
MyModel are shown below:
> cc
, , 1
[,1] [,2]
[1,] "U" "T"
[2,] "0" "0"
[3,] "0" "0"
[4,] "0" "0"
[5,] "U" "T"
[6,] "U" "T"
[7,] "U" "T"
, , 2
[,1] [,2]
[1,] "0" "0"
[2,] "M" "F"
[3,] "0" "0"
[4,] "0" "0"
[5,] "0" "0"
[6,] "0" "0"
[7,] "0" "0"
, , 3
[,1] [,2]
[1,] "0" "0"
[2,] "0" "0"
[3,] "Lo" "Hi"
[4,] "No" "Hi"
[5,] "Hi" "Hi"
[6,] "Lo" "Lo"
[7,] "No" "No"
> MyModel
Trust Sex Freq
1 T F Hi
2 T F Hi
3 T F Hi
4 T F Hi
5 T F Hi
6 T F Hi
7 T F Hi
8 T F Hi
9 T F Lo
10 T F Lo
11 T F Lo
12 T F Lo
13 T F Lo
14 T F Lo
15 T F Lo
16 T F Lo
17 T F No
18 T F No
19 T F No
20 T F No
21 T F No
22 T F No
23 T F No
24 T F No
25 T M Hi
26 T M Hi
27 T M Hi
28 T M Hi
29 T M Hi
30 T M Hi
31 T M Hi
32 T M Hi
33 T M Lo
34 T M Lo
35 T M Lo
36 T M Lo
37 T M Lo
38 T M Lo
39 T M Lo
40 T M Lo
41 T M No
42 T M No
43 T M No
44 T M No
45 T M No
46 T M No
47 T M No
48 T M No
49 U F Hi
50 U F Hi
51 U F Hi
52 U F Hi
53 U F Hi
54 U F Hi
55 U F Hi
56 U F Hi
57 U F Lo
58 U F Lo
59 U F Lo
60 U F Lo
61 U F Lo
62 U F Lo
63 U F Lo
64 U F Lo
65 U F No
66 U F No
67 U F No
68 U F No
69 U F No
70 U F No
71 U F No
72 U F No
73 U M Hi
74 U M Hi
75 U M Hi
76 U M Hi
77 U M Hi
78 U M Hi
79 U M Hi
80 U M Hi
81 U M Lo
82 U M Lo
83 U M Lo
84 U M Lo
85 U M Lo
86 U M Lo
87 U M Lo
88 U M Lo
89 U M No
90 U M No
91 U M No
92 U M No
93 U M No
94 U M No
95 U M No
96 U M No
Thanks,
Gang
More information about the R-help
mailing list