我有一个包含300000行和16列的文件(tekoopl(。第2列是PRICE,第13列是DISTRICT。(在DISTRICT列中,伦敦有不同的地区;例如,2000行与西区,4000行与伦敦区等。这些行是可互换的(。现在我陷入了以下问题:a.生成一个包含每个地区平均价格的表格b.将其与原始表格"tekoopl"结合起来。(因此,最终表不是聚合的,而是与原始表具有相同的行数(c.用PRICE和DISTRICT平均值之间的差值创建一个新列(PRICE-DISTRICE(。我只能计算PRICE列的平均/平均PRICE,但我需要所有行的平均PRICE"区域a"、所有行的区域b",并且新表(dfl07(的行数必须等于"tekoopl"中的行数。因为在那之后,我必须加入他们。我当然做不到。:-(有人能帮我吗?
tekoopl <- read.csv("datafiles/ppd_london_15161718.csv",
stringsAsFactors = FALSE)
str(tekoopl)
dfl07 <- select(tekoopl, PRICE, DISTRICT) %>%
GEM = round(mean(tekoopl$PRICE, na.rm = TRUE))
(我目前正在使用dplyr和tidyr软件包(
为每个地区的平均价格生成单独的表格:
dfl07 %>% dplyr::group_by(DISTRICT) %>% summarise(mean_price=mean(PRICE, na.rm=T))
如果你想把它放在你原来的表格中(所以列一个每个地区的平均奖金,我认为这就是你想要实现的(,那么:
dfl07 %>% dplyr::group_by(DISTRICT) %>% mutate(mean_price=mean(PRICE, na.rm=T))
创建每个地区的平均价格以及价格与地区平均价格之间的差异(用于参考tekpool数据帧(:
tekoopl %>% dplyr::group_by(DISTRICT) %>% mutate(mean_price=mean(PRICE, na.rm=T), price_diff=PRICE-mean_price)