1 r data.table
我有一个与R相关的noob问题.我有以下数据表:
Receiver_id Sender_id Gender_receiver
1 2 Male
2 3 Female
3 4 Male
4 2 Female
5 3 Female
Run Code Online (Sandbox Code Playgroud)
receiver_id表示接收消息的人的id_number,而inviter_id表示发送消息的人的id_number.在这种情况下,人2向人发送内容1. gender_receiver指的是接收者的性别.但是,基于此,应该可以通过创建名为Gender_sender的新列来指示发件人的性别.不幸的是,我无法这样做.我使用了以下代码但没有任何成功:
dt[, Gender_sender := dt$Gender_receiver, by=Sender_id]
Run Code Online (Sandbox Code Playgroud)
我没有得到正确的性别分配.
有人知道我应该做什么,我认为它相对简单,但我无法弄清楚.
在此先感谢,阿曼达
您需要将性别与发件人ID匹配:
dt[, Gender_sender:=Gender_receiver[match(Sender_id, Receiver_id)]]
dt
# Receiver_id Sender_id Gender_receiver Gender_sender
#1: 1 2 Male Female
#2: 2 3 Female Male
#3: 3 4 Male Female
#4: 4 2 Female Female
#5: 5 3 Female Male
Run Code Online (Sandbox Code Playgroud)