gpt4 book ai didi

r - 一个热编码向量列表

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

有没有一种快速的方法来对 R 中的向量列表(具有不同的长度)进行一次性编码,最好使用 tidyverse?
例如:

vals <- list(a=c(1), b=c(2,3), c=c(1,2))
想要的结果是一个宽数据框:
   1   2   3
a 1 0 0
b 0 1 1
c 1 1 0
谢谢!

最佳答案

我们可以enframe列表并将它们转换为单独的行,创建一个虚拟列并使用 pivot_wider 将数据转换为宽格式.

library(tidyverse)

enframe(vals) %>%
unnest(value) %>%
mutate(temp = 1) %>%
pivot_wider(names_from = value, values_from = temp, values_fill = list(temp = 0))

# name `1` `2` `3`
# <chr> <dbl> <dbl> <dbl>
#1 a 1 0 0
#2 b 0 1 1
#3 c 1 1 0

关于r - 一个热编码向量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58929778/

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