我有以下数据框(dat
)和矩阵(dat.m
)
dat <- structure(list(mpg = c(21, 21, 22.8, 21.4, 18.7, 18.1), cyl = c(6,
6, 4, 6, 8, 6), disp = c(160, 160, 108, 258, 360, 225), hp = c(110,
110, 93, 110, 175, 105), drat = c(3.9, 3.9, 3.85, 3.08, 3.15,
2.76), wt = c(2.62, 2.875, 2.32, 3.215, 3.44, 3.46), qsec = c(16.46,
17.02, 18.61, 19.44, 17.02, 20.22), vs = c(0, 0, 1, 1, 0, 1),
am = c(1, 1, 1, 0, 0, 0), gear = c(4, 4, 4, 3, 3, 3), carb = c(4,
4, 1, 1, 2, 1)), .Names = c("mpg", "cyl", "disp", "hp", "drat",
"wt", "qsec", "vs", "am", "gear", "carb"), row.names = c("Mazda RX4",
"Mazda RX4 Wag", "Datsun 710", "Hornet 4 Drive", "Hornet Sportabout",
"Valiant"), class = "data.frame")
dat
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#> Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#> Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#> Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#> Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
#> Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
dat.m <- structure(c(21, 21, 22.8, 21.4, 18.7, 18.1, 6, 6, 4, 6, 8, 6,
160, 160, 108, 258, 360, 225, 110, 110, 93, 110, 175, 105, 3.9,
3.9, 3.85, 3.08, 3.15, 2.76, 2.62, 2.875, 2.32, 3.215, 3.44,
3.46, 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 0, 0, 1, 1, 0,
1, 1, 1, 1, 0, 0, 0, 4, 4, 4, 3, 3, 3, 4, 4, 1, 1, 2, 1), .Dim = c(6L,
11L), .Dimnames = list(NULL, NULL))
dat.m
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11]
#> [1,] 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#> [2,] 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#> [3,] 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#> [4,] 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#> [5,] 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
#> [6,] 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
我想要做的是根据dat.m
中的列和行名称在dat
中分配列名和行名。我怎么能这样做?
dat
和dat.m
的尺寸保证相同。
最终结果看起来像dat
,除非它是矩阵而不是数据框。
答案 0 :(得分:3)
dimnames
可以将行名称和列名称设为list
,并且可以将其分配给matrix
dimnames(dat.m) <- dimnames(dat)