gpt4 book ai didi

r - 使用 dplyr 格式化 summarise_each 中的输出

转载 作者:行者123 更新时间:2023-12-04 11:07:21 25 4
gpt4 key购买 nike

问候:我是 dplyr 的新手,并且在格式化我的输出时遇到了一些挑战。这是一个使用 melt 生成一些可重现数据的代码片段。让它变成我需要的形状。

set.seed(1234)
library(reshape2)
library(dplyr)
val <- c(0:1)
a <- sample(val, 99, replace=T)
b <- sample(val, 99, replace=T)
c <- sample(val, 99, replace=T)
d <- sample(val, 99, replace=T)
dat <- data.frame(a,b,c,d)
melt.dat <- melt(dat)

现在,我可以执行所需的摘要:
SummaryTable <- melt.dat %>%
group_by(variable) %>%
summarise_each(funs(sum, sum/n()))

这是我的输出:
  variable sum        *
1 a 50 50.50505
2 b 58 58.58586
3 c 46 46.46465
4 d 46 46.46465

我的理想输出如下。我无法弄清楚如何在 summarise_each 中指定我的列名或 melt函数,设置小数位并抑制行号。我花了很长时间走到这一步,但似乎无法弄清楚其余的!
   Letter Count Percent
a 50 50.5
b 58 58.6
c 46 46.5
d 46 46.5

最佳答案

不确定在 dplyr 中是否可以抑制行名(编号),但您可以通过以下方式获得正确的名称和格式:

options(digits = 3)

melt.dat %>%
group_by(Letter = variable) %>%
summarise_each(funs(Count = sum(.), Percent = sum(.)/n()*100), -variable)

#Source: local data frame [4 x 3]
#
# Letter Count Percent
#1 a 45 45.5
#2 b 51 51.5
#3 c 52 52.5
#4 d 48 48.5

关于r - 使用 dplyr 格式化 summarise_each 中的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26960011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com