【发布时间】:2018-12-27 12:23:36
【问题描述】:
我有两个数据帧,想要映射两者,如果存在则给出二进制值 1,否则为 0。
第一后卫
id 1_1 1_2 1_3 1_4 1_5 1_6 1_7 1_8 1_9 1_10 1_freq
111.txt NA NA NA NA NA NA NA NA NA NA NA
112.txt NA NA NA NA NA NA NA NA NA NA NA
113.txt NA NA NA NA NA NA NA NA NA NA NA
114.txt NA NA NA NA NA NA NA NA NA NA NA
115.txt NA NA NA NA NA NA NA NA NA NA NA
116.txt NA NA NA NA NA NA NA NA NA NA NA
2nd DF
id cats
111.cats 1,7,1
112.cats 1,1,2|1,3,2
113.cats 1,10,1|1,6,2
114.cats 1,4,2
115.cats 1,5,1
116.cats 1,1,2|1,8,1
在第二个DF$cats 第一行有1,7,1,其中1 和7 组合并生成1_7 列,并在此列上放置二进制值1,在剩余列上放置0,最后@ 987654329@ 号码转到1_freq 列,
如果任何行有超过 1 个类似 1,10,1|1,6,2 的类别,其中 1,10,1 转到 1_10 列,1,6,2 转到 1_6 列,两个类别的频率相加并转到 1_freq 列。
DF 应该是这样的
id 1_1 1_2 1_3 1_4 1_5 1_6 1_7 1_8 1_9 1_10 1_freq
111.txt 0 0 0 0 0 0 1 0 0 0 1
112.txt 1 0 1 0 0 0 0 0 0 0 4
113.txt 0 0 0 0 0 1 0 0 0 1 3
114.txt 0 0 0 1 0 0 0 0 0 0 2
115.txt 0 0 0 0 1 0 0 0 0 0 1
116.txt 1 0 0 0 0 0 0 1 0 0 3
希望问题很清楚。 谢谢你
【问题讨论】:
-
是的,感谢您指出..编辑它..