[英]How to remove duplicated rows using two columns
我有一個如下的數據集
> set.seed(1)
> tmp <- data.frame(household.id = rep(1000, 6), individual.id = rep(1:3, each = 2),
age = rep(c(55, 52, 27), each = 2),
income = runif(6)*100)
> tmp
household.id individual.id age income
1 1000 1 55 26.55087
2 1000 1 55 37.21239
3 1000 2 52 57.28534
4 1000 2 52 90.82078
5 1000 3 27 20.16819
6 1000 3 27 89.83897
即個人“1”是家庭“1000”的父親,“2”是母親,“3”是女兒。 在這種情況下,我只想使用第 1、3 和 5 列。
(即我想使用 home.id 和 individual.id 刪除重復的行之一)
另外,我想在上述工作后使母親的年齡、父親的年齡和女兒的年齡變量。 我怎樣才能做到這一點?
你需要這樣的東西嗎?
library(dplyr)
library(tidyr)
tmp %>%
mutate(relation = recode(individual.id, `1` = 'father',
`2` = 'mother', `3` = 'daughter' )) %>%
pivot_wider(names_from = relation, values_from = age,
id_cols = household.id, values_fn = first)
# household.id father mother daughter
# <dbl> <dbl> <dbl> <dbl>
#1 1000 55 52 27
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.