我有一个数据框 dt
,其中包含一些重复的键和缺失的数据,例如:
Name Height Weight Age
Alice 180 NA 35
Bob NA 80 27
Alice NA 70 NA
Charles 170 75 NA
在这种情况下,关键是名称,我想对每一列应用类似的函数。
f <- function(x){
x <- x[!is.na(x)]
x <- x[1]
return(x)
}
在按键(即“名称”列)聚合的同时,以便获得结果
Name Height Weight Age
Alice 180 70 35
Bob NA 80 27
Charles 170 75 NA
我尝试了
dt_agg <- aggregate(. ~ Name,
data = dt,
FUN = f)
我遇到了一些错误,然后我尝试了以下操作:
dt_agg_1 <- aggregate(Height ~ Name,
data = dt,
FUN = f)
dt_agg_2 <- aggregate(Weight ~ Name,
data = dt,
FUN = f)
这次终于成功了。
由于我有50列,第二种方法对我来说相当麻烦。有没有一种方法可以修复第一种方法?
谢谢帮助!