我有一个长数据集的列表Counts_L,长度为65,如下所示:
计数_L1
| 频率|Idx_names|
| --------------|--------------|
| 一百|一个|
| 两百|B|
| 三百|C类|
计数_L2
| 频率|Idx_names|
| --------------|--------------|
| 一百五十|一个|
| 二千年|C类|
我想把它变成一个宽数据集Counts_W,有65行,每个数据集对应一个原始Counts_L:
计数_W:
| 频率_A|频率_B|频率_C|
| --------------|--------------|--------------|
| 一百|两百|三百|
| 一百五十|0|二千年|
我想写一个函数来识别丢失的“Idx_names”,并将其填充为零“Freq”值,然后使用“map”以某种方式将其扩展到列表中的所有数据集,然后合并它们,但到目前为止还没有成功。任何帮助都很感激。
4条答案
按热度按时间vs91vp4v1#
您可以将所有数据集合并为一个数据集,并以宽格式获得它。
这里的
id
变量为Counts_L
列表中的每个 Dataframe 创建一个唯一的编号。数据
如果在reproducible format中提供数据,则更容易提供帮助
ru9i0ody2#
一个选项是在每个表上执行
pivot_wider
,然后执行bind_rows
。然后,看起来你想用0
填充缺失值,这样你就可以使用mutate(across())
在所有内容上运行replace_na
:创建于2023-05-09,使用reprex v2.0.2
smdncfj33#
tidyverse
解决方案,其中tibble::deframe()
+purrr::map_dfr()
:wj8zmpe14#
使用
dcast