如何解决按扇区计算 R 中的标准偏差
我是 R 的新手,如果这个问题已经得到回答,我很抱歉。 这是我的数据集的一个例子:
idnumber SIC(1-digit) Year Ebit
198 A 2019 2344
196 A 2019 6383
374 A 2019 5628
281 A 2019 2672
274 A 2018 2792
196 A 2018 3802
374 A 2018 3892
468 B 2019 6372
389 B 2019 3829
493 C 2019 2718
928 C 2019 2628
278 C 2019 3672
我想计算工业部门“SIC(1-digit)”的“Ebit”的标准偏差。 通过这种方式,我想找到按行业划分的营业收入“Ebit”的波动性度量。
预先感谢您的回答..
解决方法
让我们加载您的数据以重现您的示例:
dat <- data.frame(
idnumber = c(198,196,374,281,274,468,389,493,928,278),`SIC(1-digit)` = c('A','A','B','C','C'),Year = c(2019,2019,2018,2019),Ebit = c(2344,6383,5628,2672,2792,3802,3892,6372,3829,2718,2628,3672),check.names = FALSE
)
您看到 SIC(1-digit)
被反引号和参数 check.names = FALSE
包围。这是因为您的列名包含特殊字符 (
和 )
;您可以阅读有关此 here 和 here
加载数据后,您可以使用dplyr
:
library(dplyr)
dat %>%
group_by(`SIC(1-digit)`) %>%
summarise(standard_deviation = sd(Ebit))
# A tibble: 3 x 2
`SIC(1-digit)` standard_deviation
* <chr> <dbl>
1 A 1544.
2 B 1798.
3 C 579.
或data.table
:
library(data.table)
setDT(dat)
dat[,.(standard_deviation = sd(Ebit)),by = `SIC(1-digit)`]
SIC(1-digit) standard_deviation
1: A 1544.4116
2: B 1798.1725
3: C 578.5257
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。