使用权重将数据 table 正确转换为频率 table
Convert Data table to Frequency table correctly with weights
问题来了
有了这个数据table
dt <- data.table(
Type=c("E", "E", "B", "B","B","B","C",NA),
ID=c(1,2,3,4,5,6,7,6),
Frequency=c(17, 6, 3,8, 12,8,9,10))
summarytools 包频率函数给出以下结果:
summarytools::freq(dt,weights=dt$Frequency)
. Freq % Valid % Valid Cum. % Total % Total Cum.
B 31.00 49.21 49.21 42.47 42.47
C 9.00 14.29 63.49 12.33 54.79
E 23.00 36.51 100.00 31.51 86.30
<NA> 10.00 13.70 100.00
Total 73.00 100.00 100.00 100.00 100.00
这考虑了权重和整个数据 table 但是
无法给我包含#NA 计数的百分比
(只给出有效的百分比计数)
包 'questionr' 中的函数 'freq' 给出了这一点。
在 "val%" 列
之前查看额外的“%”列
questionr::freq(dt$Type)
. n % val%
B 4 50.0 57.1<br>
C 1 12.5 14.3<br>
E 2 25.0 28.6<br>
不适用 1 12.5 不适用<br>
4行
但是这个第二个函数不接受
1.weights(我的示例中的列频率)
2.Entire 数据 table(而不是指定单独的列)
也许有更好的功能,甚至可以添加一些灵巧的代码行
第一个函数中的“%”功能?谢谢!
我从第一个代码得到了一个更复杂的结果(一个包含三个元素的列表)。此外还有一列:“% Total”,它似乎已经包含了您所请求的内容。也许您使用的是 out-of-date 版本的软件包?
问题来了
有了这个数据table
dt <- data.table(
Type=c("E", "E", "B", "B","B","B","C",NA),
ID=c(1,2,3,4,5,6,7,6),
Frequency=c(17, 6, 3,8, 12,8,9,10))
summarytools 包频率函数给出以下结果:
summarytools::freq(dt,weights=dt$Frequency)
. Freq % Valid % Valid Cum. % Total % Total Cum.
B 31.00 49.21 49.21 42.47 42.47
C 9.00 14.29 63.49 12.33 54.79
E 23.00 36.51 100.00 31.51 86.30
<NA> 10.00 13.70 100.00
Total 73.00 100.00 100.00 100.00 100.00
这考虑了权重和整个数据 table 但是
无法给我包含#NA 计数的百分比
(只给出有效的百分比计数)
包 'questionr' 中的函数 'freq' 给出了这一点。 在 "val%" 列
之前查看额外的“%”列questionr::freq(dt$Type)
. n % val%
B 4 50.0 57.1<br>
C 1 12.5 14.3<br>
E 2 25.0 28.6<br>
不适用 1 12.5 不适用<br>
4行
但是这个第二个函数不接受
1.weights(我的示例中的列频率)
2.Entire 数据 table(而不是指定单独的列)
也许有更好的功能,甚至可以添加一些灵巧的代码行 第一个函数中的“%”功能?谢谢!
我从第一个代码得到了一个更复杂的结果(一个包含三个元素的列表)。此外还有一列:“% Total”,它似乎已经包含了您所请求的内容。也许您使用的是 out-of-date 版本的软件包?