用R中的大型数据集绘制过去10年的平均房价
我需要创建一个带有随时间变化的每月平均房价的地块。这些数据是随机排列的,由个别房屋的销售价格组成 我已经将每日日期转换为每月日期,并将值转换为数字列。但我无法计算每月的中位数用R中的大型数据集绘制过去10年的平均房价,r,date,dataframe,subset,median,R,Date,Dataframe,Subset,Median,我需要创建一个带有随时间变化的每月平均房价的地块。这些数据是随机排列的,由个别房屋的销售价格组成 我已经将每日日期转换为每月日期,并将值转换为数字列。但我无法计算每月的中位数 below are the characteristics of the dataset. str(a) 'data.frame': 1411764 obs. of 2 variables: $ Date : Factor w/ 498 levels "1977-11","1978-06",..: 108 60
below are the characteristics of the dataset.
str(a)
'data.frame': 1411764 obs. of 2 variables:
$ Date : Factor w/ 498 levels "1977-11","1978-06",..: 108 60 12 58 51 60 12 59 60 60 ...
$ Value: num 223000 171528 110269 172436 181512 ...
>head(a)
Date Value
1 2003-01 223000.0
2 1999-01 171528.0
3 1992-01 110268.6
5 1998-11 172436.5
9 1998-04 181512.1
10 1999-01 197848.0
我会用
plyr
来做这个。类似这样的内容应该会为您提供一个带有每月中位数的data.frame
:
library(plyr)
result_df = ddply(a, .(Date), summarize, median_value = median(Value))
plyr
对于较大的数据集来说有点慢,但我只想尝试一下上面的代码。一个很好的替代方法是数据表
,它提供了大致相同的功能,但速度快了几个数量级。我会使用plyr
。类似这样的内容应该会为您提供一个带有每月中位数的data.frame
:
library(plyr)
result_df = ddply(a, .(Date), summarize, median_value = median(Value))
plyr
对于较大的数据集来说有点慢,但我只想尝试一下上面的代码。一个很好的替代方法是数据表
,它提供了大致相同的功能,但速度快了几个数量级。我会使用plyr
。类似这样的内容应该会为您提供一个带有每月中位数的data.frame
:
library(plyr)
result_df = ddply(a, .(Date), summarize, median_value = median(Value))
plyr
对于较大的数据集来说有点慢,但我只想尝试一下上面的代码。一个很好的替代方法是数据表
,它提供了大致相同的功能,但速度快了几个数量级。我会使用plyr
。类似这样的内容应该会为您提供一个带有每月中位数的data.frame
:
library(plyr)
result_df = ddply(a, .(Date), summarize, median_value = median(Value))
plyr
对于较大的数据集来说有点慢,但我只想尝试一下上面的代码。一个很好的替代方法是数据.table
,它提供了大致相同的功能,但速度快了几个数量级。如果您有大量数据,您会发现数据.table
对于此类操作非常有效。如果不这样做,您仍然会发现data.table
非常有用-
library(data.table)
dt <- data.table(df)
dt[,list(medianvalue = median(Value)), by = "Date"]
库(data.table)
dt如果您有大量数据,您会发现data.table
对于此类操作非常有效。如果不这样做,您仍然会发现data.table
非常有用-
library(data.table)
dt <- data.table(df)
dt[,list(medianvalue = median(Value)), by = "Date"]
库(data.table)
dt如果您有大量数据,您会发现data.table
对于此类操作非常有效。如果不这样做,您仍然会发现data.table
非常有用-
library(data.table)
dt <- data.table(df)
dt[,list(medianvalue = median(Value)), by = "Date"]
库(data.table)
dt如果您有大量数据,您会发现data.table
对于此类操作非常有效。如果不这样做,您仍然会发现data.table
非常有用-
library(data.table)
dt <- data.table(df)
dt[,list(medianvalue = median(Value)), by = "Date"]
库(data.table)
dt+1!简单地使用data.table
是有意义的,尤其是当您仍然有选择并且没有使用data.table
或plyr
的经验时。不过,我更喜欢plyr
的语法;)。哈哈,这和我的态度正好相反。我第一次使用R是处理一个非常大的数据集。从那以后,我一直在使用数据.table
并远离plyr、ddply等。我在使用数据时犯了错误。有时甚至是:)非常感谢,它工作得很好。现在我需要在x轴上绘制日期,但这应该不是问题。谢谢+1.简单地使用data.table
是有意义的,尤其是当您仍然有选择并且没有使用data.table
或plyr
的经验时。不过,我更喜欢plyr
的语法;)。哈哈,这和我的态度正好相反。我第一次使用R是处理一个非常大的数据集。从那以后,我一直在使用数据.table
并远离plyr、ddply等。我在使用数据时犯了错误。有时甚至是:)非常感谢,它工作得很好。现在我需要在x轴上绘制日期,但这应该不是问题。谢谢+1.简单地使用data.table
是有意义的,尤其是当您仍然有选择并且没有使用data.table
或plyr
的经验时。不过,我更喜欢plyr
的语法;)。哈哈,这和我的态度正好相反。我第一次使用R是处理一个非常大的数据集。从那以后,我一直在使用数据.table
并远离plyr、ddply等。我在使用数据时犯了错误。有时甚至是:)非常感谢,它工作得很好。现在我需要在x轴上绘制日期,但这应该不是问题。谢谢+1.简单地使用data.table
是有意义的,尤其是当您仍然有选择并且没有使用data.table
或plyr
的经验时。不过,我更喜欢plyr
的语法;)。哈哈,这和我的态度正好相反。我第一次使用R是处理一个非常大的数据集。从那以后,我一直在使用数据.table
并远离plyr、ddply等。我在使用数据时犯了错误。有时甚至是:)非常感谢,它工作得很好。现在我需要在x轴上绘制日期,但这应该不是问题。谢谢也非常感谢你@Paul,我尝试了两个答案,两个都很完美。也非常感谢你@Paul,我尝试了两个答案,两个都很完美。也非常感谢你@Paul,我尝试了两个答案,两个都很完美。也非常感谢你@Paul,我尝试了两个答案,两个都很完美。