我想升级包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)
而且我还有旧版本!
我不知道为什么这不起作用,我之前已经遇到过这个问题并且解决了它(我不记得到底是什么)但是现在又回到了旧版本!什么是最简单的方法来保持这样的包自动更新,而不是让它们回溯到较旧的包?
我有一个时间序列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"重复.
我想知道这是一个错误还是我做错了什么?
我一直在努力解决这个问题.我是使用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) 我是R的新手,使用你的网站非常有帮助.不幸的是,我一直在努力使用我的代码两天,所以我想问几个问题.我一直在尝试创建一个很好的图表来放入pdf表,但我对我一直使用的所有包都没有什么问题.所以我想要完成的是创建一个包含三个图表和一个相关表的pdf表.下面是我创建的一个示例,它与我想要做的非常相似,但我想改变一些事情.我在quantmod中使用chartSeries作为图表,而我正在使用textplot.
几个问题:
最好,
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) 我有一个包含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包使用内部变量x.如果我加载包(我只尝试使用devtools::load_all),然后x没有出现在ls()列表中,但它确实有一个值.我怎么能避免这个?
我很好,用户可以使用myPackage::x但不是简单地访问变量x.
我有这个数据帧"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) 关于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) 我在 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)
我发现的一切都表明这是执行此操作的正确方法,但这就是我得到的。有什么建议么?是不是设置歪了?