使用PowerShell这是相当容易调用Excel宏的从脚本,例如与像一个脚本这样:
$excel = new-object -comobject excel.application
$excelFiles = Get-ChildItem -Path C:\fso -Include *.xls, *.xlsm -Recurse
Foreach($file in $excelFiles)
{
$workbook = $excel.workbooks.open($file.fullname)
$worksheet = $workbook.worksheets.item(1)
$excel.Run("CreateChart")
$workbook.save()
$workbook.close()
}
$excel.quit()
Run Code Online (Sandbox Code Playgroud)
但是,我没有设法用一些参数调用一个宏.这是可能的还是编写配置文件的最佳方式,宏在调用时会读取?
基数R中的Date类有一个double支持:
> dput(Sys.Date())
structure(18095, class = "Date")
> class(unclass(Sys.Date()))
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)
为什么不按整数?这样可以节省一半的内存(每个日期4个字节),并且似乎至少在简单的情况下可以工作:
> structure(18095L, class = "Date")
[1] "2019-07-18"
Run Code Online (Sandbox Code Playgroud)
评论使用小数日期提及。我对一般使用小数日期持谨慎态度,但R的行为可能绝对不是您期望的:
> as.POSIXct(structure(18095.5, class = "Date"))
[1] "2019-07-18 14:00:00 CEST"
Run Code Online (Sandbox Code Playgroud)
我可以看到为什么这是正确的结果,但仍然如此。
我使用djutils @async装饰器异步调用函数.当我使用标准./manage.py runserver命令启动我的服务器时,这很有效.但是当我在gunicorn下运行我的django应用程序并且我用@async装饰器调用该函数时根本没有任何事情发生...
我查看了djutils异步装饰器的代码,它添加并反对python标准的Queue,并生成一个或多个线程来使用队列.
任何人有想法或提示我应该在哪里看下一步,让我的@async功能在gunicorn中运行?gunicornn是否正在改变python线程实现的标准实现?
如果我尝试NA在RI中设置或其他特殊变量,则会得到一个很好的警告:
> NA <- 1
Run Code Online (Sandbox Code Playgroud)
NA <-1中的错误:分配的左侧无效(do_set)
使用我自己的代码中定义的变量是否可以实现相同目的?
我试图lockBinding('foo', parent.env(environment())在包中使用它,.onLoad()但是这将使我很高兴地隐藏锁定的绑定。
在一个包中,myPackage我可以创建以下init.R文件:
#' @export
foo <- 1
.onLoad <- function(libname, pkgname) {
lockBinding('foo', parent.env(environment()))
}
Run Code Online (Sandbox Code Playgroud)
devtools::document()R CMD INSTALL现在,它做了:
> library(myPackage)
> foo
[1] 1
> foo <- 2
> foo
[1] 2
> myPackage::foo
[1] 1
> rm(foo)
> foo
[1] 1
Run Code Online (Sandbox Code Playgroud)
我要这样做,以免foo蒙上阴影(NA不可能这样)。
我在 Linux 上,希望R与同事共享输出,同时还允许他们覆盖我的文件。但是,当我编写文件时,该组的权限设置为只读,例如:
> write.csv(data.frame(a = 1:3), file = "/tmp/test.csv")
> file.mode("/tmp/test.csv")
[1] "644"
Run Code Online (Sandbox Code Playgroud)
创建一个只能由我自己写的文件。有一些选择,我可以设置让我写的文件有权限660写文件的所有方式(自动设置write.csv,data.table等等)?
我想公开一个 C++ 类和一个将该类的对象作为 R 参数的函数。我必须遵循简化的示例。我创建了一个包
Rscript -e 'Rcpp::Rcpp.package.skeleton("soq")'
Run Code Online (Sandbox Code Playgroud)
并将以下代码放入 soq_types.h
#include <RcppCommon.h>
#include <string>
class Echo {
private:
std::string message;
public:
Echo(std::string message) : message(message) {}
Echo(SEXP);
std::string get() { return message; }
};
#include <Rcpp.h>
using namespace Rcpp;
RCPP_MODULE(echo_module) {
class_<Echo>("Echo")
.constructor<std::string>()
.method("get", &Echo::get)
;
};
//// [[Rcpp::export]]
void shout(Echo e) {
Rcout << e.get() << "!" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
请注意,最后一条注释有额外的斜线,不会导致函数被导出。当我现在运行时:
$> Rscript -e 'Rcpp::compileAttributes()'
$> R CMD INSTALL .
R> library(Rcpp)
R> suppressMessages(library(inline))
R> library(soq)
R> echo_module <- …Run Code Online (Sandbox Code Playgroud) 我有一个不一定是凸的多边形,没有交叉点,也有一个点在这个多边形之外.我想知道如何在二维空间中最有效地计算欧几里德距离.有标准方法R吗?
我的第一个想法是计算多边形的所有线的最小距离(无限扩展,因此它们是线,而不是线条),然后使用线条的起点和毕达哥拉斯计算从点到每条单独线的距离.
你知道一个实现高效算法的包吗?
r ×5
asynchronous ×1
c++ ×1
date ×1
django ×1
excel ×1
gis ×1
gunicorn ×1
optimization ×1
powershell ×1
rcpp ×1
vba ×1