基础R中是否有任何选项,如何设置行名和列名,i。即在基础R中创建对象时维度名称?
示例:
假设我们有一个数据框' dfe'。
set.seed(8803)
dfe <- data.frame(V1=sample(1:10, 3),
V2=sample(1:10, 3),
V3=sample(1:10, 3),
V4=sample(1:10, 3))
dfe
# V1 V2 V3 V4
# 1 3 7 1 6
# 2 9 4 6 5
# 3 5 2 8 9
我们可以使用names(dfe) <- month.abb[1:4]
或(对于数据框)colnames(dfe) <- month.abb[1:4]
设置列名。因此对于行名rownames(dfe) <- LETTERS[1:3]
。
我们也可以在dimnames()
的一个过程中同时执行这两项操作。与创建数据框架一起,有两个步骤。
dfe <- data.frame(.)
dimnames(dfe) <- list(LETTERS[1:3], month.abb[1:4])
dfe
# Jan Feb Mar Apr
# A 3 3 2 1
# B 9 4 6 9
# C 10 1 5 5
使用setNames()
,我们可以在创建数据框时提供列名。
dfe <- setNames(data.frame(V1=sample(1:10, 3),
V2=sample(1:10, 3),
V3=sample(1:10, 3),
V4=sample(1:10, 3)), month.abb[1:4])
names(dfe)
# [1] "Jan" "Feb" "Mar" "Apr"
我是否遗漏了行名称的内容,甚至更好的基本R中的维度名称在创建对象时设置了这些名称?我找不到像setRowNames()
或setDimNames()
这样的内容。你是怎么做到的?
注意:解决方案应该是对象的通用解决方案,而不仅仅是适合创建数据框架或矩阵。
答案 0 :(得分:2)
这适用于数据帧和矩阵。此处BOD
是R附带的数据框,但如果我们将BOD
替换为as.matrix(BOD)
"rownames<-"(BOD, letters[1:6])