【发布时间】:2020-06-08 15:49:51
【问题描述】:
我的数据框如下所示:
df <- data.frame("Name"=c("Bob", "Bob", "Emma"), "Age"=c(23,23,78), "Gender"=c("Male", "Male", "Female"), "Item"=c("house", "car", "house"), "Value"=c(5,1,3))
df
Name Age Gender Item Value
1 Bob 23 Male house 5
2 Bob 23 Male car 1
3 Emma 78 Female house 3
我正在尝试用“Item”列的所有现有值“填充”缺失的行,因为我知道“Age”和“Gender”列的值取决于“Name”列。
我尝试在不将两个数据框连接在一起的情况下获得此结果(参见第 4 行):
Name Age Gender Item Value
1 Bob 23 Male house 5
2 Bob 23 Male car 1
3 Emma 78 Female house 3
4 Emma 78 Female car unknown
我尝试了 complete 函数的组合,但它会计算前 3 列的所有可能组合:
library(tidyverse)
df %>% complete(Name, Age, Gender, nesting(Item), fill=list(Value="unknown"))
Name Age Gender Item Value
1 Bob 23 Female car unknown
2 Bob 23 Female house unknown
3 Bob 23 Male car 1
4 Bob 23 Male house 5
5 Bob 78 Female car unknown
6 Bob 78 Female house unknown
7 Bob 78 Male car unknown
8 Bob 78 Male house unknown
9 Emma 23 Female car unknown
10 Emma 23 Female house unknown
11 Emma 23 Male car unknown
12 Emma 23 Male house unknown
13 Emma 78 Female car unknown
14 Emma 78 Female house 3
15 Emma 78 Male car unknown
16 Emma 78 Male house unknown
【问题讨论】: