重塑计数变量

发布于 2025-02-13 23:45:23 字数 305 浏览 1 评论 0原文

我有这样的数据:

structure(list(ID = 1:4, concept = c("a", "b", "c", "d"), count = c(1L, 
2L, 4L, 6L)), class = "data.frame", row.names = c(NA, -4L))

如何重塑数据以:


ID  a   b   c   d
1   1   0   0   0
2   0   2   0   0
3   0   0   4   0
4   0   0   0   6

I have a data like this:

structure(list(ID = 1:4, concept = c("a", "b", "c", "d"), count = c(1L, 
2L, 4L, 6L)), class = "data.frame", row.names = c(NA, -4L))

How can I reshape the data to have :


ID  a   b   c   d
1   1   0   0   0
2   0   2   0   0
3   0   0   4   0
4   0   0   0   6

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

飘逸的'云 2025-02-20 23:45:24

您可以使用以下代码:

df <- structure(list(ID = 1:4, concept = c("a", "b", "c", "d"), count = c(1L, 
                                                                          2L, 4L, 6L)), class = "data.frame", row.names = c(NA, -4L))

library(reshape2)
dcast(df, ID ~ concept, value.var = "count", fill = 0)
#>   ID a b c d
#> 1  1 1 0 0 0
#> 2  2 0 2 0 0
#> 3  3 0 0 4 0
#> 4  4 0 0 0 6

在2022-07-08创建的 reprex package (v2(v2)。 0.1)

You can use the following code:

df <- structure(list(ID = 1:4, concept = c("a", "b", "c", "d"), count = c(1L, 
                                                                          2L, 4L, 6L)), class = "data.frame", row.names = c(NA, -4L))

library(reshape2)
dcast(df, ID ~ concept, value.var = "count", fill = 0)
#>   ID a b c d
#> 1  1 1 0 0 0
#> 2  2 0 2 0 0
#> 3  3 0 0 4 0
#> 4  4 0 0 0 6

Created on 2022-07-08 by the reprex package (v2.0.1)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文