我有一个100个月(1200个数据点)的月度数据的数据框,其中行和列中的月数.我想将它转换为月度时间序列,我尝试了几种方法,其中没有一种方法可以创建正确的"时间"结构.
问题在于R将数据框架视为12个变量(月份)的100个观测值(年).这是我最新尝试的可重现代码:
set.seed(12)
dummy.df <- as.data.frame(matrix(round(rnorm(1200),digits=2),nrow=100,ncol=12))
rownames(dummy.df) <- seq(from=1901, to=2000)
colnames(dummy.df) <- c("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec")
dummy.df.ts <- ts(as.vector(as.matrix(dummy.df)), start=c(1901,1), end=c(2000,12), frequency=12)
Run Code Online (Sandbox Code Playgroud)
在"dummy.df.ts"对象中,行和列被切换,而不是按列顺序观察,所有januarys februarys等一个接一个地堆叠在一起.我怎样才能找到正确的时间结构?
我的数据的一个例子:这些是1901年至1905年的月度温度值
fr.monthly.temp.sample
JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
1901 2.7 0.4 4.7 10.0 13.0 16.9 19.2 18.3 15.7 10.6 4.9 3.5
1902 4.1 3.2 7.5 10.3 10.0 15.1 18.2 17.4 15.0 10.2 6.3 3.5
1903 3.8 5.9 7.6 7.1 12.9 14.9 17.6 17.3 15.5 12.1 6.9 2.7
1904 3.0 4.6 5.5 10.3 13.6 …
Run Code Online (Sandbox Code Playgroud) 我在R中的数据框中有一年的小时数据:
> str(df.MHwind_load) # compactly displays structure of data frame
'data.frame': 8760 obs. of 6 variables:
$ Date : Factor w/ 365 levels "2010-04-01","2010-04-02",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Time..HRs. : int 1 2 3 4 5 6 7 8 9 10 ...
$ Hour.of.Year : int 1 2 3 4 5 6 7 8 9 10 ...
$ Wind.MW : int 375 492 483 476 486 512 421 396 456 453 ... …
Run Code Online (Sandbox Code Playgroud) 我正在使用小样本数据:
>dput(dat.demand2050.unique)
c(79, 56, 69, 61, 53, 73, 72, 86, 75, 68, 74.2, 80, 65.6, 60, 54)
Run Code Online (Sandbox Code Playgroud)
其密度分布如下:
我知道这些值来自两个方案 - 低和高 - 并且假设基础过程是正常的,我使用该mixtools
包来拟合双峰分布:
set.seed(99)
dat.demand2050.mixmdl <- normalmixEM(dat.demand2050.unique, lambda=c(0.3,0.7), mu=c(60,70), k=2)
Run Code Online (Sandbox Code Playgroud)
这给了我以下结果:
(实线是拟合曲线,虚线是原始密度).
# get the parameters of the mixture
dat.demand2050.mixmdl.prop <- dat.demand2050.mixmdl$lambda #mix proportions
dat.demand2050.mixmdl.means <- dat.demand2050.mixmdl$mu #modal means
dat.demand2050.mixmdl.dev <- dat.demand2050.mixmdl$sigma #modal std dev
Run Code Online (Sandbox Code Playgroud)
混合参数是:
>dat.demand2050.mixmdl.prop #mix proportions
[1] 0.2783939 0.7216061
>dat.demand2050.mixmdl.means #modal means
[1] 56.21150 73.08389
>dat.demand2050.mixmdl.dev #modal std dev
[1] 3.098292 6.413906
Run Code Online (Sandbox Code Playgroud)
我有以下问题:
我有一些Python的经验,但最近才发现它的广泛使用docstrings
.我正在浏览金融市场模拟器(FMS)源代码,当我在PyCharm中打开它时,我看到以下语法突出显示(FMS 中其中一个模块的代码片段的屏幕截图):
为什么">>>"之后的语句突出显示为可执行文件?从我所读到的docstrings
,在官方文档和SO上(例如在这里)我认为这些语句不应该执行,但语法突出显示令我感到困惑,让我认为">>>"是一个docstring
要执行的代码内的代码标记.或者这只是一个PyCharm'bug'?没有任何文件提及与此相关的任何内容,我担心如果我错过了什么.
PS:对于记录,查看SublimeText中的代码不会重现相同的行为.