随着C++编译器的快速发展,尤其是英特尔编译器,以及在C/C++代码中直接应用SIMD函数的能力,Fortran在数值计算领域仍然具有任何真正的优势吗?
我来自应用数学背景,我的工作涉及大量的数值分析,计算,优化等,具有严格定义的性能要求.
我对Fortran几乎一无所知,我在C/CUDA/matlab方面有一些经验(如果你认为后者是一种计算机语言),我的日常任务包括分析非常大的数据(例如10GB大的矩阵),并且看起来该程序至少花费2/3的时间来访问内存(这就是为什么我将其部分工作发送到GPU),你是否认为对我来说至少尝试Fortran例程可能是值得的我的代码中一些性能至关重要的部分,以提高我的程序的性能?
因为那里需要完成复杂性和事情,所以如果只有那里有显着的性能优势,我只会这样做,感谢提前.
在ggplot2中,如何使图例具有半透明背景.
以下代码给出了完全透明的背景(和定位控件)
plot <- plot + theme(legend.position=c(1,1),legend.justification=c(1,1),
legend.direction="vertical",
legend.box="horizontal",
legend.box.just = c("top"),
legend.background = element_rect(fill="transparent"))
Run Code Online (Sandbox Code Playgroud)
但是如何控制阿尔法的水平,我不相信element_rect有这种能力.
我想在网上发布一个R Shiny Web应用程序(http://www.rstudio.com/shiny/),但我想用密码保护它,以便只有拥有凭据的人才能查看我发布的内容.做这个的最好方式是什么 ?
有人可以向我解释为什么C++,至少据我所知,没有实现一个强类型的省略号函数,这是有效的:
void foo(double ...) {
// Do Something
}
Run Code Online (Sandbox Code Playgroud)
这意味着,简单地说:'用户可以将可变数量的术语传递给foo函数,但是,所有术语必须是双倍的'
至于R,可有人向我解释,关于对象继承,如果我有S4对象X,它包含Y,如果Y有一个初始化,这怎么可能初始化从X的初始化中调用,当X是建造.
我正在使用Rstudio创建一个包,并探索使用Rcpp包来获取对C++代码的访问,但是,在尝试构建包时,错误被抛出如下:
fatal error: Rcpp.h: No such file or directory
内联C++代码编译很好,它只在考虑文件src夹中的独立C++文件时,显然是指文件#include <Rcpp.h>头部的指令.cpp.
我认为它可能与环境变量有关,有谁知道正确的配置是什么以及如何修复在Ubuntu 12.04 LTS环境中运行的Rstudio?
这些命令sourceCpp('./src/xyz.cpp')按预期Build and Reload执行,从RStudio IDE中执行时抛出错误.
对于HTML格式的R Markdown脚本,是否有人知道如何对字幕中的数字进行编号?
对于PDF文档,标题将说明如下:
图X:一些标题文本
但是,HTML版本的等效标题将简单地说:
一些标题文字
这使得数字的交叉引用数字完全无用.
这是一个最小的例子:
---
title: "My Title"
author: "Me"
output:
pdf_document: default
html_document: default
---
```{r cars, fig.cap = "An amazing plot"}
plot(cars)
```
```{r cars2, fig.cap = "Another amazing plot"}
plot(cars)
```
Run Code Online (Sandbox Code Playgroud)
我尝试过设置toc,fig_caption并且number_sections在每种输出格式中,但这似乎不会改变结果.
我有一种情况需要强制执行,并为用户提供多个select函数之一的选项,作为参数传递给另一个函数:
我真的想要实现以下内容:
from enum import Enum
#Trivial Function 1
def functionA():
pass
#Trivial Function 2
def functionB():
pass
#This is not allowed (as far as i can tell the values should be integers)
#But pseudocode for what I am after
class AvailableFunctions(Enum):
OptionA = functionA
OptionB = functionB
Run Code Online (Sandbox Code Playgroud)
所以可以执行以下操作:
def myUserFunction(theFunction = AvailableFunctions.OptionA):
#Type Check
assert isinstance(theFunction,AvailableFunctions)
#Execute the actual function held as value in the enum or equivalent
return theFunction.value()
Run Code Online (Sandbox Code Playgroud) 我需要将ggplot2包装到另一个函数中,并且希望能够以与它们被接受相同的方式解析变量,有人可以指引我正确的方向.
比方说,我们考虑下面的MWE.
#Load Required libraries.
library(ggplot2)
##My Wrapper Function.
mywrapper <- function(data,xcol,ycol,colorVar){
writeLines("This is my wrapper")
plot <- ggplot(data=data,aes(x=xcol,y=ycol,color=colorVar)) + geom_point()
print(plot)
return(plot)
}
Run Code Online (Sandbox Code Playgroud)
虚拟数据:
##Demo Data
myData <- data.frame(x=0,y=0,c="Color Series")
Run Code Online (Sandbox Code Playgroud)
现有的使用没有麻烦执行:
##Example of Original Function Usage, which executes as expected
plot <- ggplot(data=myData,aes(x=x,y=y,color=c)) + geom_point()
print(plot)
Run Code Online (Sandbox Code Playgroud)
目标用法语法:
##Example of Intended Usage, which Throws Error ----- "object 'xcol' not found"
mywrapper(data=myData,xcol=x,ycol=y,colorVar=c)
Run Code Online (Sandbox Code Playgroud)
上面给出了ggplot2包的"原始"用法示例,以及我如何将其包装在另一个函数中.但是,包装器会抛出错误.
我确信这适用于许多其他应用程序,它可能已被回答了一千次,但是,我不确定这个主题在R中被称为"被称为".
在R中,如何确定函数所期望的参数个数?
fa = function(x){}
fb = function(x,y){}
fc = function(x,y,z){}
Run Code Online (Sandbox Code Playgroud)
所以我想定义一个函数f,其中:
f(fa) = 1
f(fb) = 2
f(fc) = 3
Run Code Online (Sandbox Code Playgroud)
等等......
基本上,我想从实用nargs()的功能,但从外面的功能.
上面的原因是,我需要知道函数期望的参数数量,对于特定实现optim(...),在运行时确定并生成正在优化的函数.