R 数组中维度的名称组
有疑问的是,对象R 数组中维度的名称组,r,arrays,R,Arrays,有疑问的是,对象x(粘贴在下面)是一个数组*x有一个名为.Dimnames的参数和另一个名为.Names的参数,它似乎命名了.Dimnames的每一组。当x转换为data.frame时,中的值。名称成为列名 .Dimnames似乎类似于数组(Dimnames),但我找不到.Names的类似数组参数 # object from the linked question x = structure(c(-0.93, 0.39, 0.88, 0.63, 0.86, -0.69, 1.02, 0.29,
x
(粘贴在下面)是一个数组
*x
有一个名为.Dimnames
的参数和另一个名为.Names
的参数,它似乎命名了.Dimnames
的每一组。当x
转换为data.frame
时,中的值
。名称
成为列名
.Dimnames
似乎类似于数组(Dimnames)
,但我找不到.Names
的类似数组
参数
# object from the linked question
x = structure(c(-0.93, 0.39, 0.88, 0.63, 0.86, -0.69, 1.02, 0.29, 0.94,
0.93, -0.01, 0.79, 0.32, 0.14, 0.13, -0.07, -0.63, 0.26, 0.07, 0.87,
-0.36, 1.043, 0.33, -0.12, -0.055, 0.07, 0.67, 0.48, 0.002, 0.008,
-0.19, -1.39, 0.98, 0.43, -0.02, -0.15,-0.08, 0.74, 0.96, 0.44, -0.005,
1.09, 0.36, 0.04, 0.09, 0.17, 0.68, 0.51, 0.09, 0.12, -0.05, 0.11,
0.99, 0.62, 0.13, 0.06, 0.27, 0.74, 0.96, 0.45), .Dim = c(5L,
2L, 2L, 3L), .Dimnames = structure(list(Subject = c("s1", "s2",
"s3", "s4", "s5"), Cond = c("A", "B"), Item = c("1", "2"), c("Measure1",
"Measure2", "Measure3")), .Names = c("Subject", "Cond",
"Item", "")))
当我使用as.data.frame.table
转换x
时,列名是有意义的。例如
head(as.data.frame.table(x))
#-----
Subject Cond Item Var4 Freq
1 s1 A 1 Measure1 -0.93
2 s2 A 1 Measure1 0.39
3 s3 A 1 Measure1 0.88
4 s4 A 1 Measure1 0.63
5 s5 A 1 Measure1 0.86
6 s1 B 1 Measure1 -0.69
如果我有另一个数组y
,如何命名一组维度,以便在转换为data.frame
时,列名有意义?例如
y <- array(1:9,
dim = c(3,3,3),
dimnames = list(letters[1:3],
LETTERS[1:3],
month.abb[1:3]))
as.data.frame.table(y)
#---------
Var1 Var2 Var3 Freq
1 a A Jan 1
2 b A Jan 2
3 c A Jan 3
4 a B Jan 4
5 b B Jan 5
6 c B Jan 6
y您可以指定尺寸的名称,而无需命名实际的行/列/管道。(我认为第三个边距称为“管道”,不要与非管道的%%>%%
混淆;-)
你能解释一下“列名有意义”是什么意思吗?我认为主题
,条件
,项目
,或频率
足够有意义。。。只有Var4
对我来说似乎不具信息性。很抱歉不清楚。我只是以x
为例。如何将Subject
或Cond
等名称应用于不同的数组?ary啊,简单修复。没有意识到您可以在dimnames
中的=
左侧放置一个名称。如果你想把你的评论作为答案,我会接受的。在你的例子中定义a
,b
和d
就是我想要的。在您指出后,我现在在fordimname
中看到,列表可以命名,并且列表名称将用作维度的名称。