基于Group By折叠R中的稀疏数据框
Collapsing Sparse dataframe in R based on Group By
我有一个看起来像这样的 df:
Name Var0 Var1 Var2 Var3 Var4
A 0.1 NA NA NA NA
A NA 0.3 NA NA NA
A NA NA 0.4 NA NA
A NA NA NA 0.7 NA
A NA NA NA NA 0.9
B 0.2 NA NA NA NA
B NA 0.5 NA NA NA
B NA NA 0.8 NA NA
B NA NA NA 0.1 NA
B NA NA NA NA 0.3
它本质上是一个按第一列 "Name" 分组的稀疏矩阵。如何折叠行以便每个名称只有一行?我尝试了多种解决方案,包括 groupby 和 summarize 函数,但找不到折叠矩阵的好方法。
我想要的输出:
Name Var0 Var1 Var2 Var3 Var4
A 0.1 0.3 0.4 0.7 0.9
B 0.2 0.5 0.8 0.1 0.3
应该这样做
df %>% group_by(Name) %>% summarise_all(funs(na.omit(.)[1]))
我有一个看起来像这样的 df:
Name Var0 Var1 Var2 Var3 Var4
A 0.1 NA NA NA NA
A NA 0.3 NA NA NA
A NA NA 0.4 NA NA
A NA NA NA 0.7 NA
A NA NA NA NA 0.9
B 0.2 NA NA NA NA
B NA 0.5 NA NA NA
B NA NA 0.8 NA NA
B NA NA NA 0.1 NA
B NA NA NA NA 0.3
它本质上是一个按第一列 "Name" 分组的稀疏矩阵。如何折叠行以便每个名称只有一行?我尝试了多种解决方案,包括 groupby 和 summarize 函数,但找不到折叠矩阵的好方法。
我想要的输出:
Name Var0 Var1 Var2 Var3 Var4
A 0.1 0.3 0.4 0.7 0.9
B 0.2 0.5 0.8 0.1 0.3
应该这样做
df %>% group_by(Name) %>% summarise_all(funs(na.omit(.)[1]))