R语言 将多个同名虚拟对象合并为一个虚拟对象

wn9m85ua  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(118)

我的问题如下:我已虚拟化多个列:
| 第1型|第二型|
| - ------|- ------|
| 火|叶|
| 叶|火|
变成
| 1型火灾|类型$叶|二型火灾|类型2 $叶|
| - ------|- ------|- ------|- ------|
| 1个|无|无|1个|
| 无|1个|1个|无|
我已经删除了列名的第一部分
| 火|叶|火|叶|
| - ------|- ------|- ------|- ------|
| 1个|无|无|1个|
| 无|1个|1个|无|
我怎样才能得到这个结果?
| 火|叶|
| - ------|- ------|
| 1个|1个|
| 1个|1个|
我已经使用fastDummies创建了虚拟对象,谢谢

cygmwpex

cygmwpex1#

library(tidyverse)

df <- read_table("type_1    type_2
fire    leaf
leaf    fire")

df %>% 
  pivot_longer(everything()) %>% 
  count(name, value) %>% 
  pivot_wider(names_from = value, values_from = n)

# A tibble: 2 × 3
  name    fire  leaf
  <chr>  <int> <int>
1 type_1     1     1
2 type_2     1     1

df %>% 
  select(-name) # If you don't want the name column

相关问题