допустим, у меня есть такой тип данных:
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"
)
Каждый идентификатор уникален для сообщения. Каждое сообщение может быть ответом на другое сообщение.
. дополнительный столбец с именем автора сообщения, на которое ответили. Например, Джек отвечает на сообщение 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
для создания нового столбца для этого значения.
Надеюсь, я был достаточно ясно.