微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

丢失任何列的组均值

如何解决丢失任何列的组均值

我需要在不丢失任何列的情况下计算下面示例表的每组(即,每个坐标)的平均值(实际表有超过 40,000 行,具有不同的状态、位置坐标和类型)所以这个:>

状态 位置坐标 类型 2002 2003 2004 2005 2006 2007 2008 2009 2010
加利福尼亚 西 债务 234 56 79 890 24 29 20 24 26
内华达 西 债务 45 54 87 769 54 76 90 87 98

会变成这样:

状态 位置坐标 类型 2002 2003 2004 2005 2006 2007 2008 2009 2010
西 西 债务 234 56 79 890 24 29 20 24 26

当我使用聚合时 (df

位置坐标 2002 2003 2004 2005 2006 2007 2008 2009 2010
西 235 55 83 843 24 29 20 24 26 债务 54 769 76 87

当我使用 sqldf 时,它会平均年份并变成这样:

状态 位置坐标 类型 2002 2003 2004 2005 2006 2007 2008 2009 2010
西 西 债务 2002 2003 2004 2005 2006 2007 2008 2009 2010

有什么建议吗?

解决方法

一个选项是首先将“状态”更改为“坐标”,然后应用包括分组变量“状态”、“坐标”和“类型”的公式方法

df$State <- df$`Location Coordinates`
aggregate(.~ State + `Location Coordinates` + Type,df,FUN = mean)
,

@akrun:这行得通吗:

df %>% 
  group_by(Coordinates) %>% 
  summarise(State=Coordinates,Type=Type,across(where(is.numeric),~mean(.x,na.rm = TRUE))) %>% 
  filter(row_number() %% 2 == 0) ## Select even rows

输出:

# Groups:   Coordinates [1]
  Coordinates State Type  `2002` `2003` `2004` `2005` `2006` `2007` `2008` `2009` `2010`
  <chr>       <chr> <chr>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
1 West        West  Debt    140.     55     83   830.     39   52.5     55   55.5     62

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。