假设我有这种数据框:
df <- tribble(
~ID,~Reply_to_ID, ~author,
14, NA, "John",
16, 14, "Jack",
18, 14, "John",
20, 22, "Annie",
22, 24, "Peter",
24, 16, "Annie"
)
每个ID对于一条消息都是唯一的每条消息都可以是对另一条消息的回复
[我想要一个额外的列,其中包含邮件作者的姓名。例如,杰克回复14
编写的消息"John"
,然后约翰也回复了他的消息,所以我会有类似[>]
~ID,~Reply_to_ID, ~author, ~Replied_to_author, 14, NA, "John", NA, 16, 14, "Jack", "John", 18, 14, "John", "John", 20, 22, "Annie", "Peter", 22, 24, "Peter", "Annie", 24, 16, "Annie", "Jack" )
可能,我想使用tidyverse来解决问题。
到目前为止,我尝试过的类似
newDF <- mutate( df, Reply_to_author = filter(df, .data$id == .data$reply_to_message_id) )
还有其他东西。我知道我可以通过使用
filter(df, id == 14)$author
之类的值来获取值,但似乎无法使用mutate
为该值创建新列。
希望我已经足够清楚了。
谢谢!
假设我有这种数据框:df
您可以使用match
: