打印 tibble 及其行名
Print tibble with its rownames
我有一个问题:
tib = tibble(list(120,130,140), list("Jack", "John", "James"))
rownames(tib) = c("Observation1", "Observation2", "Observation3") # displays deprecated warning on setting rownames,
# this warning is ignorable for now
print(tib) # prints tibble, but not with the rownames
我已经做了一些快速谷歌搜索,但什么也没看到。因此,将此提供给永恒的 quick-google 搜索。
如何打印带有您明确设置的行名的小标题?
提前致谢。
编辑:如果你想知道,我正在尝试 pretty-print 一个相关矩阵,它的行名确实具有语义意义——也就是说,行名和列名是相同的。
我只想命名行并打印它们。不过,我认为这是不可能的,我将转换回 base-R。
这有多个方面。
首先,as the vignette explains,tibbles 故意不支持行名称,因为
[t]he whole point of tidy data is to store variables in a consistent way. So it never stores a variable as special attribute.
“简洁的方法”是添加另一个包含名称的列。在您的情况下,这可以通过
来完成
tib = tibble(Weight = c(120,130,140), Name = c("Jack", "John", "James")) %>%
dplyr::mutate(Observation = paste("Observation", seq_len(dplyr::n())))
当 pretty-printing table 大多数 table 打印库允许您明确指定要用于行名称的数据时;例如,‘DT’ has the rownames
parameter.
但是由于您的数据包含相关矩阵,tibble
(和data.table
)是错误的数据类型。矩阵不是“整齐的数据 tables”。相反,它们是特定的 mathematical object,high-dimensional arrays/tensors 的特例。 Tibbles(和 data.frames)具有为它们定义的特殊属性和操作,这对矩阵没有意义(例如不同列的不同数据类型,以及每一列代表不同变量,每一行代表一个观察的事实).相反,矩阵具有对数据table没有意义和未定义的属性和操作(例如矩阵乘法、element-wise操作、转置、求逆等)。
由于您的数据是相关矩阵,因此将其存储为 matrix
。然后您还可以使用行名称。
我有一个问题:
tib = tibble(list(120,130,140), list("Jack", "John", "James"))
rownames(tib) = c("Observation1", "Observation2", "Observation3") # displays deprecated warning on setting rownames,
# this warning is ignorable for now
print(tib) # prints tibble, but not with the rownames
我已经做了一些快速谷歌搜索,但什么也没看到。因此,将此提供给永恒的 quick-google 搜索。
如何打印带有您明确设置的行名的小标题?
提前致谢。
编辑:如果你想知道,我正在尝试 pretty-print 一个相关矩阵,它的行名确实具有语义意义——也就是说,行名和列名是相同的。
我只想命名行并打印它们。不过,我认为这是不可能的,我将转换回 base-R。
这有多个方面。
首先,as the vignette explains,tibbles 故意不支持行名称,因为
[t]he whole point of tidy data is to store variables in a consistent way. So it never stores a variable as special attribute.
“简洁的方法”是添加另一个包含名称的列。在您的情况下,这可以通过
来完成tib = tibble(Weight = c(120,130,140), Name = c("Jack", "John", "James")) %>%
dplyr::mutate(Observation = paste("Observation", seq_len(dplyr::n())))
当 pretty-printing table 大多数 table 打印库允许您明确指定要用于行名称的数据时;例如,‘DT’ has the rownames
parameter.
但是由于您的数据包含相关矩阵,tibble
(和data.table
)是错误的数据类型。矩阵不是“整齐的数据 tables”。相反,它们是特定的 mathematical object,high-dimensional arrays/tensors 的特例。 Tibbles(和 data.frames)具有为它们定义的特殊属性和操作,这对矩阵没有意义(例如不同列的不同数据类型,以及每一列代表不同变量,每一行代表一个观察的事实).相反,矩阵具有对数据table没有意义和未定义的属性和操作(例如矩阵乘法、element-wise操作、转置、求逆等)。
由于您的数据是相关矩阵,因此将其存储为 matrix
。然后您还可以使用行名称。