小编teu*_*cer的帖子

R中的Currying函数

是否有可能使用钻营R

一种可能性是具有特殊paste功能(可以将其视为此处的后续操作),例如(在错误的代码中):

'%+%' <- (sep)function(x,y) paste(x,y,sep=sep)
"a"%+%("")"b"%+%("_")"c" #gives "ab_c"
Run Code Online (Sandbox Code Playgroud)

什么是可能的实现R

PS:这paste只是一个例子,我很好奇R......

r currying

20
推荐指数
2
解决办法
5304
查看次数

带尖括号的方法(<>)

是否可以在方法名称中使用尖括号,例如:

class Foo(ind1:Int,ind2:Int){...}
var v = new Foo(1,2)
v(1) = 3 //updates ind1
v<1> = 4 //updates ind2
Run Code Online (Sandbox Code Playgroud)

真实的情况显然比这更复杂!!我试图提供一个方便的用户界面.

syntax dsl scala syntactic-sugar

14
推荐指数
2
解决办法
2066
查看次数

Scala重复数组

我是新手scala.我尝试编写一个"重复" Array(Scala 2.9.0)的函数:

def repeat[V](original: Array[V],times:Int):Array[V]= {
if (times==0)
   Array[V]()
else
  Array.concat(original,repeat(original,times-1)
}
Run Code Online (Sandbox Code Playgroud)

但我无法编译这个(得到一个错误manifest)...

arrays scala

6
推荐指数
2
解决办法
1489
查看次数

得到R曲线类型"b"

在ggplot2中有一种方法可以获得情节类型"b"吗?见例子:

x <- c(1:5)
y <- x 
plot(x,y,type="b")
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想用它们的值替换点,以获得类似于这个着名示例的东西:

替代文字

编辑:这里有一些样本数据(我想在情节类型为"b"的方面绘制每个"猫"):

df <- data.frame(x=rep(1:5,9),y=c(0.02,0.04,0.07,0.09,0.11,0.13,0.16,0.18,0.2,0.22,0.24,0.27,0.29,0.31,0.33,0.36,0.38,0.4,0.42,0.44,0.47,0.49,0.51,0.53,0.56,0.58,0.6,0.62,0.64,0.67,0.69,0.71,0.73,0.76,0.78,0.8,0.82,0.84,0.87,0.89,0.91,0.93,0.96,0.98,1),cat=rep(paste("a",1:9,sep=""),each=5))
Run Code Online (Sandbox Code Playgroud)

此致,穆萨

r ggplot2

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

R中的操作重载

为字符重载'+'最直接的方法是什么?我已经定义'%+%' <- function(...) paste(...,sep=""):

str <- "aa"%+%"bb"%+%"cc" #str="aabbcc"
Run Code Online (Sandbox Code Playgroud)

但我不喜欢这种语法.我认为str <- "aa"+"bb"+"cc"会更好.

(我正在构建与RODBC一起使用的长SQL查询,paste在这种情况下通常不是很方便.有什么建议吗?)

string r concatenation string-concatenation

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

R:计算两个向量的"乘积"的最佳方式

我们假设我有一个向量

r <- rnorm(4)
Run Code Online (Sandbox Code Playgroud)

W尺寸为20000*200 的矩阵,例如:

W <- matrix(rnorm(20000*200),20000,200)
Run Code Online (Sandbox Code Playgroud)

我想计算一个新的矩阵M尺寸的5000*200,使得m11 <- r%*%W[1:4,1],m21 <- r%*%W[5:8,1],m12 <- r%*%W[1:4,2]等(即分组的行4×4和计算的产物).

这样做的最佳(速度,记忆)方式是什么?

提前致谢.

r

4
推荐指数
1
解决办法
259
查看次数

Rllvm和编译器包:R编译

这是关于R的未来的一个相当普遍的问题:任何希望看到compilerRllvm(来自Omegahat)或R的另一个JIT编译方案的合并(我知道有Ra,但最近没有更新)?

在我的测试中,速度增益compiler对于"复杂"功能来说是微不足道的......

r

4
推荐指数
1
解决办法
455
查看次数

存储多维数组/张量的最佳方法

我正在尝试创建一个张量(可以被设想为多维数组)包scala.到目前为止,我将数据存储在1D中Vector并进行索引算法.

但切片和子阵列并不容易获得.人们需要做很多算术才能将多维索引转换为1D索引.

有没有存储多维数组的最佳方法?如果没有,即一维数组是最好的解决方案,那么如何最佳地对数组进行切片(一些具体的代码对我有帮助)?

scala

4
推荐指数
1
解决办法
1060
查看次数

Rcpp编译错误

我试图从Rcpp网页编译简单的Rcpp示例:inline

Rcpp::NumericVector orig(vector);                  
Rcpp::NumericVector vec(orig.size());          
std::transform(orig.begin(),orig.end(),vec.begin(),sqrt);

return Rcpp::List::create(Rcpp::Named("result")=vec,Rcpp::Named("original") =orig);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

no matching function for call to 'transform(Rcpp::traits::storage_type<14>::type*, Rcpp::traits::storage_type<14>::type*, Rcpp::traits::storage_type<14>::type*, <unresolved overloaded function type>)
Run Code Online (Sandbox Code Playgroud)

我使用带有Rtools的Windows XP(没有STL的其他示例工作!),使用R 2.12.0.

r rcpp

3
推荐指数
1
解决办法
1474
查看次数