小编GSe*_*See的帖子

更新程序包并使其不会还原为原始程序包

我想升级包ggplot2:

library(ggplot2)
packageDescription("ggplot2")["Version"]
> 0.8.3
Run Code Online (Sandbox Code Playgroud)

但目前的版本是0.8.7.

我尝试了update.packages(),这似乎工作正常.但它仍然返回旧版本0.8.3.

所以我从Cran下载并安装了软件包源代码,在下载页面中显示为0.8.7.然后我通过R中的GUI菜单安装它.它返回

** building package indices ...
* DONE (ggplot2)
Run Code Online (Sandbox Code Playgroud)

然后我跑:

packageDescription("ggplot2")["Version"]
> 0.8.3
Run Code Online (Sandbox Code Playgroud)

而且我还有旧版本!

我不知道为什么这不起作用,我之前已经遇到过这个问题并且解决了它(我不记得到底是什么)但是现在又回到了旧版本!什么是最简单的方法来保持这样的包自动更新,而不是让它们回溯到较旧的包?

packages r ggplot2

6
推荐指数
1
解决办法
1万
查看次数

R align.time/aggregate中的错误?

我有一个时间序列x:

dput(x)
structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.8, 0, 0, 
0, 0, 0, 0, 0, 0), index = structure(c(1193524740, 1193525340, 
1193525940, 1193526540, 1193527140, 1193527740, 1193528340, 1193528940, 
1193529540, 1193530140, 1193530740, 1193531340, 1193531940, 1193532540, 
1193533140, 1193533740, 1193534340, 1193534940, 1193535540, 1193536140, 
1193536740, 1193537340), class = c("POSIXct", "POSIXt")), class = "zoo")
Run Code Online (Sandbox Code Playgroud)

我聚合到1小时

as.xts(aggregate(x, align.time(index(x), 60*60))) 
                    [,1]
2007-10-28 00:00:00  0.0
2007-10-28 01:00:00  0.0
2007-10-28 01:00:00 28.8
2007-10-28 02:00:00  0.0
2007-10-28 03:00:00  0.0
Run Code Online (Sandbox Code Playgroud)

如你所见,我得到"2007-10-28 01:00:00"重复.

我想知道这是一个错误还是我做错了什么?

aggregate r time-series xts

6
推荐指数
1
解决办法
248
查看次数

创建一个渐变颜色的箭头

如何使用R创建具有渐变颜色的箭头或线段?

gradient r

5
推荐指数
2
解决办法
1403
查看次数

在R中的"周"箱中聚合平均值"%H%M"

我一直在努力解决这个问题.我是使用ts数据和所有相关R包的新手.我有一个带有几个变量的df,包括GMT"%H%M"中的"一天中的时间"和日期"%Y /%m /%e"采样.我想将我的日期数据分箱/汇总到"周"(即%W /%g),并计算在该周内进行抽样时的平均'当天时间'.

我能够通过首先将我的df转换为zoo对象然后使用aggregate.zoo命令来计算数值变量(例如,权重)的其他FUN,如下所示:

#calculate the sum weight captured every week 
x2c <- aggregate(OA_zoo, as.Date(cut(time(OA_zoo), "week")), sum)
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何解决这个事实,即我正在使用Date格式而不是num,并且会感谢任何提示!此外,我显然已经通过单独执行每个变量来编写方法.是否有办法通过使用plyr聚合"每周"来对我的df应用不同的FUN(sum/mean/max/min)?还是其他一些套餐?

编辑/澄清 这dput是我的完整数据集样本的输出.我有2004 - 2011年的数据.我想看一下/使用ggplot2进行绘图是指随着时间的推移(2004-2011)累计的TIME(%H%M)的平均值/中位数.现在,我的数据不会在一周内汇总,而是每天汇总(随机抽样).

> dput(godin)
structure(list(depth = c(878, 1200, 1170, 936, 942, 964, 951, 
953, 911, 969, 960, 987, 991, 997, 1024, 978, 1024, 951, 984, 
931, 1006, 929, 973, 986, 935, 989, 1042, 1015, 914, 984), duration = c(0.8, 
2.6, 6.5, 3.2, 4.1, 6.4, 7.2, 5.3, 7.4, 7, 7, 5.5, 7.5, …
Run Code Online (Sandbox Code Playgroud)

aggregate r time-series aggregate-functions

5
推荐指数
1
解决办法
1134
查看次数

在quantmod中使用chartSeries

我是R的新手,使用你的网站非常有帮助.不幸的是,我一直在努力使用我的代码两天,所以我想问几个问题.我一直在尝试创建一个很好的图表来放入pdf表,但我对我一直使用的所有包都没有什么问题.所以我想要完成的是创建一个包含三个图表和一个相关表的pdf表.下面是我创建的一个示例,它与我想要做的非常相似,但我想改变一些事情.我在quantmod中使用chartSeries作为图表,而我正在使用textplot.

几个问题:

  1. 是否可以删除图表右上角的日期?
  2. 而不是文本Last xxxx(绿色系列文本)我想得到系列本身的名称,例如MSFT,是可行的吗?
  3. 如何给出轴名称,例如Return,Date?
  4. 在累积差异图中我使用了addVo(),该函数给出了这个漂亮的barPlot.在其他图中,我没有使用addVo()只是addTA和type ='h',你可以看到条形图/直方图的差异.是否可以使用addTA获得与addVo相同的绘图?
  5. 有没有办法更好地适应相关表和/或更专业.可能是另一个功能更好吗?

最好,

OTB

install.packages("quantmod")
install.packages("gplots")
library(quantmod)
library(gplots)

#setwd("..........")

getSymbols("MSFT")
getSymbols("AAPL")
getSymbols("COKE")
getSymbols("PEP")

#Get the return
MSFT.Return <- diff(MSFT)/lag(MSFT)
AAPL.Return <- diff(AAPL)/lag(AAPL)
COKE.Return <- diff(COKE)/lag(COKE)
PEP.Return <- diff(PEP)/lag(PEP)

#Get the return for last two months and only get close price return.
#because in my data I only have the close price. 
MSFT.Close <- MSFT.Return['2012-06-01::2012-07-27', 'MSFT.Close']
AAPL.Close <- AAPL.Return['2012-06-01::2012-07-27', 'AAPL.Close']
COKE.Close <- COKE.Return['2012-06-01::2012-07-27', 'COKE.Close']
PEP.Close <- PEP.Return['2012-06-01::2012-07-27', 'PEP.Close']

pdf(sprintf("%s.pdf","ExampleGraph"), width=11.69, height=8.27)

layout(matrix(1:8, nrow=4)) 

#Get …
Run Code Online (Sandbox Code Playgroud)

r quantmod

5
推荐指数
1
解决办法
3670
查看次数

如何使用长格式的R数据帧子集进行操作?

我有一个包含3组和3天的数据框:

set.seed(10)
dat <- data.frame(group=rep(c("g1","g2","g3"),each=3), day=rep(c(0,2,4),3), value=runif(9))
#   group day    value
# 1    g1   0 0.507478
# 2    g1   2 0.306769
# 3    g1   4 0.426908
# 4    g2   0 0.693102
# 5    g2   2 0.085136
# 6    g2   4 0.225437
# 7    g3   0 0.274531
# 8    g3   2 0.272305
# 9    g3   4 0.615829
Run Code Online (Sandbox Code Playgroud)

我想取log2并将每个值除以每组中的第0天值.我现在这样做的方法是通过计算中间步骤中的每一天组:

day_0 <- dat[dat$day==0, "value"]
day_2 <- dat[dat$day==2, "value"]
day_4 <- dat[dat$day==4, "value"]
res <- cbind(0, log2(day_2/day_0), log2(day_4/day_0))
rownames(res) <- c("g1","g2","g3")
colnames(res) <- c("day_0","log_ratio_day_2_day_0","log_ratio_day_4_day_0") …
Run Code Online (Sandbox Code Playgroud)

r plyr dataframe data.table

5
推荐指数
2
解决办法
837
查看次数

如何定义包中的哪些变量或函数被导出

我的R包使用内部变量x.如果我加载包(我只尝试使用devtools::load_all),然后x没有出现在ls()列表中,但它确实有一个值.我怎么能避免这个?

我很好,用户可以使用myPackage::x但不是简单地访问变量x.

namespaces export r devtools package

5
推荐指数
2
解决办法
4015
查看次数

从每日数据计算月平均值

我有这个数据帧"df1"作为例子,它实际上是一个更大的(15年)的一部分:

             X1          X2
3798 2009-12-29           0
3799 2009-12-30           0
3800 2009-12-31           0 
3802 2010-01-02           0
3803 2010-01-03         2.1
3804 2010-01-04           0
3805 2010-01-05           0
3806 2010-01-06           0
3807 2010-01-07           0
3808 2010-01-08           0
3809 2010-01-09           0
3810 2010-01-10         6.8
3811 2010-01-12           0
3812 2010-01-13           0
3813 2010-01-14        17.7
3814 2010-01-16           0
3815 2010-01-17           0
3816 2010-01-18         1.5
3817 2010-01-19           0
3818 2010-01-20           0
3819 2010-01-21           0
3820 2010-01-22           0
3821 2010-01-23           0
3822 2010-01-24           0
3823 2010-01-25           0
3824 2010-01-26 …
Run Code Online (Sandbox Code Playgroud)

average r

5
推荐指数
1
解决办法
2万
查看次数

如何报告svyglm对象的适合度?

关于R中的调查包的问题.我知道这是非常基本但我什么也没找到.所以:

library(survey)
data(api)
dclus2 <- svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
summary(svyglm(api00 ~ ell + meals + mobility, design = dclus2))
Call:
svyglm(formula = api00 ~ ell + meals + mobility, design = dclus2)

Survey design:
svydesign(id = ~dnum, weights = ~pw, data = apiclus1, fpc = ~fpc)

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 819.2791    21.3900  38.302 4.65e-13 ***
ell          -0.5167     0.3240  -1.595    0.139    
meals        -3.1232     0.2781 -11.231 2.29e-07 ***
mobility     -0.1689     0.4449  -0.380    0.711    
---
Signif. codes:  0 ‘***’ …
Run Code Online (Sandbox Code Playgroud)

r survey

5
推荐指数
1
解决办法
1316
查看次数

在 R 中使用反斜杠转义反斜杠会在字符串中产生 2 个反斜杠,而不是 1 个

我在 Linux Mint 13 上使用 R & R Studio,并且尝试获取如下所示的字符串:

domain\username
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时:

usr <- "domain\\username"
Run Code Online (Sandbox Code Playgroud)

结果变量 usr 中出现两个 \:

#[1] "domain\\username"
Run Code Online (Sandbox Code Playgroud)

我发现的一切都表明这是执行此操作的正确方法,但这就是我得到的。有什么建议么?是不是设置歪了?

r

5
推荐指数
1
解决办法
2848
查看次数