小编Nic*_*ker的帖子

使用 dplyr 管道语法中的 table() 函数?

我喜欢 dplyr 的语法,但我很难以与使用基本 R table() 函数相同的方式轻松获取列联表。table() 没问题,但我不知道如何将它合并到 dplyr 管道语法中。

感谢您的帮助。

这是一些示例数据,其中包含我想要获得的输出。

df <- tibble(id=c(rep("A",100),rep("B",100),rep("C",100)),
               val=c(rnorm(300,mean=500,sd=100))) %>%
  mutate(val_bin=cut(val,breaks=5))

table(df$id,df$val_bin)
Run Code Online (Sandbox Code Playgroud)

输出:

    (210,325] (325,440] (440,554] (554,669] (669,784]
  A         4        22        55        18         1
  B         6        19        46        24         5
  C         3        23        44        22         8
Run Code Online (Sandbox Code Playgroud)

r dplyr

7
推荐指数
2
解决办法
1773
查看次数

如何将列表列表转换为可用的 data.frame(用于打印表格)?

我有一个未命名列表的列表,我需要将其转换为可用的 data.frame。大多数情况下,列表中的每个列表都具有相同的元素名称,但有些列表会包含一些元素,而其他列表则不会。因此,每个列表应该是我的 data.frame 中的一行,每个变量名称应该是一列,如果列表没有特定变量,则 data.frame 应包含 NA 元素。

在我的示例中, this_list 是我正在使用的内容, this_df 是我想要的内容。我尝试了各种方法来取消列出并转换为 data.frame,但我的列名称变得重复,并且我只得到 1 个观察结果。谢谢。

this_list <- list(list(
  Name = "One",
  A = 2,
  B = 3,
  C = 4,
  D = 5
),
list(
  Name = "Two",
  A = 5,
  B = 2,
  C = 1
))


this_df <- data.frame(Name=c("One","Two"),
                      A=c(2,5),
                      B=c(3,2),
                      C=c(4,1),
                      D=c(5,NA))
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
1
解决办法
1582
查看次数

标签 统计

r ×2

dplyr ×1