更改列标题[重复]

Posted

技术标签:

【中文标题】更改列标题[重复]【英文标题】:Change column title [duplicate] 【发布时间】:2019-07-29 05:29:29 【问题描述】:

我有一些伦敦的基本房价数据。

我有数据的子集

Y2018 = subset(HP, Date == "2018" & PPDCategory.Type == "A")

然后我生成了交易价格的平均值、中位数、最大值和最小值。

Year2018 = as.data.frame(tapply(Y2018$Price, Y2018$Ward, na.rm=TRUE, median))
Year2018$mean = (tapply(Y2018$Price, Y2018$Ward, na.rm=TRUE, mean))
Year2018$max = (tapply(Y2018$Price, Y2018$Ward, na.rm=TRUE, max))
Year2018$min = (tapply(Y2018$Price, Y2018$Ward, na.rm=TRUE, min))

这显然现在将第一列显示为“tapply(Y2018$Price, Y2018$Ward, na.rm = TRUE, median)” - 使该列名称存储为“median”的正确方法是什么。

tapply(Y2018$Price, Y2018$Ward, na.rm = TRUE, median)     mean     max    min
                                                                              375000 338600.0  460000 133000
Cann Hall Ward                                                                462000 451264.2  690000 205000
Cathall Ward                                                                  489000 482119.1  775000 175000
Chapel End Ward                                                               460000 451798.3  773500 162500

【问题讨论】:

Year2018 = as.data.frame(median = tapply(Y2018$Price, Y2018$Ward, na.rm=TRUE, median)) 对于上面的代码,它会产生错误:as.data.frame(median = tapply(Y2018$Price, Y2018$Ward, na.rm = TRUE, : argument "x" is missing, with no default 【参考方案1】:

对不起,我看错了,您的问题的答案在这里: Changing column names of a data frame

如果我理解您的问题,您可以按如下方式使用 tidyverse

Year2018 %>%
  group_by(Ward) %>%
  mutate(mean = mean(price)) %>%
  mutate(max = max(price)) %>%
  mutate(min = min(price)) %>%
  ungroup() %>%
  unique()

【讨论】:

谢谢,我会试试 tidyverse。我是 R 新手,学习了名为 Analytics Edge 的在线课程,我们还没有使用 Tidyverse

以上是关于更改列标题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

更改数据表列数据类型 [重复]

在单个语句中更改多个列[重复]

更改数据框日期列的日期格式[重复]

更改数据框中某些列的名称[重复]

SQL表里列的数据重复批量更改

循环遍历数据框以更改列值-python [重复]