我是一个R新手,我在做一些可能很简单的事情上遇到了很多麻烦.我有一个按国家/地区代码分组的大数据集,我希望按国家/地区对价格指数进行3个月的滚动平均,然后将其放入与相应月份相匹配的新列中.我一直试图像这样使用rollmean没有成功(下面的代码和错误消息):
> leader$last3<-tapply(leader, leader$ccode,
function(x) rollmean(leader$GI_delta, 3, na.pad=T))
Error in tapply(leader, leader$ccode, function(x) rollmean(leader$GI_delta, :
arguments must have same length
> leader$last3<-ddply(leader, .(ccode),
rollmean(GI_delta, 3, na.pad=T))
Error in llply(.data = .data, .fun = .fun, ..., .progress = .progress, :
.fun is not a function.
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激!
我正在尝试使用R和randomForest Package,我对SVM和神经网络有一些经验.我的第一个测试是尝试和回归:sin(x)+高斯噪声.使用神经网络和svm,我获得了sin(x)的"相对"好的近似值,因此滤除了噪声并且学习算法不会过度拟合.(对于体面的参数)当在randomForest上做同样的事情时,我有一个完全过度拟合的解决方案.我只是使用(R 2.14.0,也试过2.14.1,以防万一):
library("randomForest")
x<-seq(-3.14,3.14,by=0.00628)
noise<-rnorm(1001)
y<-sin(x)+noise/4
mat<-matrix(c(x,y),ncol=2,dimnames=list(NULL,c("X","Y")))
plot(x,predict(randomForest(Y~.,data=mat),mat),col="green")
points(x,y)
Run Code Online (Sandbox Code Playgroud)
我猜在randomForest中有一个神奇的选项让它正常工作,我尝试了一些,但我找不到合适的杠杆拉...
我做了一个这样的情节:
plot(
layer(x=sort(randn(1000),1), y=sort(randn(1000),1), Geom.point),
layer(x=[-4,4], y=[-4,4], Geom.line(), Theme(default_color=color("black"))))
Run Code Online (Sandbox Code Playgroud)
如您所见,点周围的白色圆圈使得图中的高密度部分几乎为白色.
我想将点的外圆颜色更改为黑色(或蓝色),以更好地显示这些点确实存在.
从牛虻文档看起来像highlight_color的说法Theme()可能做到这一点,但它需要一个函数作为参数.
我不明白这是怎么回事.有任何想法吗?
我正在尝试创建一个树形图,由于"父亲"有很多"孩子",我希望它是一个非常宽的图形.因此,我尝试使用windows选项调整窗口大小,并将边距设置为零宽度以获得宽图.这些是我的程序行:
windows(heigth=7, width=14, record=TRUE, rescale="fit")
par(mar=c(1,0,1,0), omi=c(0,0,0,0), oma=c(0,0,0,0))
plot(graph_name,layout=layout.reingold.tilford(tree))
Run Code Online (Sandbox Code Playgroud)
我得到一个宽大的设备窗口,但情节是在中间,而不是广泛传播.我做错了什么?
提前致谢,
诺姆
在R中是否有一种方法可以提示用户(即scanf)获取信息,还允许使用字符串数组作为可能的完成来自动完成该提示?
基本上,寻找类似GNU Readline for R的东西(理想情况下是一个例子).
我一直在尝试构建SVM分类器,但遇到了麻烦predict.
> modelrbf<-ksvm(set,y,kernel="rbfdot",type="C-svc")
Using automatic sigma estimation (sigest) for RBF or laplace kernel
> predict(modelrbf,set[24,])
Error in .local(object, ...) : test vector does not match model !
Run Code Online (Sandbox Code Playgroud)
我无能为力导致错误的原因是:'测试向量与模型不匹配!'.
这是我的第一篇文章,希望我能解释一下我需要做些什么.我对R来说还是很新,我可能已经阅读了回答这个问题的帖子,但我不能为我的生活理解他们的意思.如果已经回答,请提前道歉.
我有一个非常大的GPS位置数据集来自radiocollars,并且每天的位置数量不一致.我想浏览数据集,并根据GPS信号的准确度选择每天的单个数据点.
所以它基本上看起来像这样.
Accuracy Month Day Easting Northing Etc
5 6 1 ####### ######## #
3.2 6 1 ####### ######## #
3.8 6 1 ####### ######## #
1.6 6 2 ####### ######## #
4 6 3 ####### ######## #
3.2 6 3 ####### ######## #
Run Code Online (Sandbox Code Playgroud)
我想在保留其余相关数据的同时,为每天提取最准确的点(最低精度度量).
目前我一直在使用tapply功能
datasub1<-subset(data,MONTH==6)
tapply(datasub1$accuracy, datasub1$day, min)
Run Code Online (Sandbox Code Playgroud)
使用这种方法,我可以成功检索最小值,每天一个,但我不能采取相关的坐标和时间,以及所有其他重要信息以及它,因为数据集是近30万行,我真的可以不要手工做.
基本上,我需要获得与tapply相同的结果,但是我需要找到该点的整个行而不是单个点.
提前感谢任何可以伸出援助之手的人.如果您需要更多信息,请告诉我,我会尽力为您服务.
我正在尝试使用 R 中的 TTR 包和波动率()函数来计算两个底层证券之间价差的滚动 30 天波动率。
这是迄今为止我的代码的剥离版本(已提取/清理数据,日期匹配等):
asset1 <-c(rnorm(100, mean=50))
asset2 <-c(rnorm(100, mean=50))
spread <-c(asset1-asset2)
vClose.spread <-volatility(spread, n=30, calc="close", N=252)
Run Code Online (Sandbox Code Playgroud)
现在我在这里得到的错误是:
Error in runCov(x, x, n, use = "all.obs", sample = sample, cumulative) :
Series contain non-leading NAs
In addition: Warning message:
In log(x) : NaNs produced
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助或指导。