簡體   English   中英

如何使用兩列刪除重復的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM