【问题标题】:How do I get R to include column names in a table? [closed]如何让 R 在表中包含列名? [关闭]
【发布时间】:2021-02-10 05:54:17
【问题描述】:

我希望 R 生成一个比较数据集中两列的表。这些列的值是相同的(0 和 1),所以我不知道哪些数字对应于哪些变量。我知道有一种方法可以为 R 提供列名,但是因为我不知道哪些行和列对应于哪些数字,所以我担心这样做可能会将一个错误标记为另一个。

这是 R 给我的表格。我希望它在顶部和左侧标记变量。

      0   1
  0 593 185
  1 322 122

【问题讨论】:

  • 请添加您尝试过的代码。您可以随时在 rstudio 的交互式控制台中使用?func-name 来了解某个功能。

标签: r columnname


【解决方案1】:

您可以将行名和列名分配给table 函数的输出以区分它们。

例如,

mat <- table(mtcars$cyl, mtcars$am)
rownames(mat) <- paste0('cyl = ', rownames(mat))
colnames(mat) <- paste0('am = ', colnames(mat))
mat
         
#          am = 0 am = 1
#  cyl = 4      3      8
#  cyl = 6      4      3
#  cyl = 8     12      2

如果您不想将此类名称分配给输出,可以使用aggregate

mtcars$N <- 1:nrow(mtcars)
aggregate(N~cyl+am, mtcars, length)

#  cyl am  N
#1   4  0  3
#2   6  0  4
#3   8  0 12
#4   4  1  8
#5   6  1  3
#6   8  1  2

count 使用 dplyr

library(dplyr)
mtcars %>% count(cyl, am)

输出格式不同于table,但它提供了关于哪个值来自哪个列的清晰信息。

【讨论】:

  • 谢谢!这样做给了我名字,但我仍然不确定哪些列和行是哪些。有没有办法让 R 包含列的名称(在数据集中)而不必分配名称?或者有没有办法知道,根据哪个是哪个?我的表的代码是 'my.table
  • 行是第一个变量,列是第二个变量。您还可以使用来自dplyraggregatecount。请参阅我的更新答案。
猜你喜欢
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 2016-10-08
  • 2018-06-28
  • 1970-01-01
  • 2013-05-30
  • 1970-01-01
  • 2014-03-16
相关资源
最近更新 更多