在编辑Microsoft Office VBA宏或函数时,通常会将光标从尚未完成的行移开.例如,要复制要粘贴到该行的内容.但是,如果该部分行在语法上不合法,则VBA编辑器会通过弹出必须被解除的"编译错误"消息来中断您的工作.
有没有办法禁用消息框?我发现它很烦人......
(这适用于Excel Visual Basic for Applications,Outlook VBA,Word VBA等)
我有一个纬度和经度坐标列表,并希望找出它们所在的国家/地区.
我修改了一个关于lat-long到美国各州的问题的答案,并且有一个工作功能,但我遇到的问题是worldHires地图(来自mapdata包裹)可怕地过时并且包含许多过时的国家,如南斯拉夫和苏联.
如何修改此函数以使用更现代的包,例如rworldmap?到目前为止,我只是挫败了自己...
library(sp)
library(maps)
library(rgeos)
library(maptools)
# The single argument to this function, points, is a data.frame in which:
# - column 1 contains the longitude in degrees
# - column 2 contains the latitude in degrees
coords2country = function(points)
{
# prepare a SpatialPolygons object with one poly per country
countries = map('worldHires', fill=TRUE, col="transparent", plot=FALSE)
names = sapply(strsplit(countries$names, ":"), function(x) x[1])
# clean up polygons that are out of …Run Code Online (Sandbox Code Playgroud) R中是否有任何库或函数可以简化彗星图的制作?我的意思是一个动画图形,其中头部(箭头)跟踪一个粒子的路径,它的身体(一条线)在头部后面跟踪,其长度与粒子的速度成比例.
Matlab有一个非常简单的comet()函数:http://www.mathworks.co.uk/help/matlab/ref/comet.html
这里有一个显示当前风速的彗星图的一个非常好的例子:http: //earth.nullschool.net/
我意识到这是一个非常普遍的问题,但到目前为止我在R中找不到任何东西.
如何检查是否可以写入特定的文件名?理想情况下,我想要一个与file.exists()工作方式相同的函数 - 它返回TRUE或FALSE,并且在测试时不会吐出任何错误.
理想的例子:
filename = "X:/an/invalid/path"
file.writable(filename) # returns FALSE
Run Code Online (Sandbox Code Playgroud)
我还没有找到一个已经完成此功能的功能,并且无法真正考虑如何去做.
一个想法是尝试编写一些垃圾数据filename,但我无法弄清楚使用try()或tryCatch()避免出现大量错误消息的复杂性.这也有覆盖文件名的缺点,你可能不想发生这种情况.
我想用一种简单的方法来计算目录中使用D的文件数.
据我在D手册中可以看出,dirEntries返回一个范围,但是它没有length属性.因此,我必须使用计数器迭代结果,或者收集传统数组中的名称,我可以找到它的长度......有更好的方法吗?
auto txtFiles = dirEntries(".", "*.txt", SpanMode.shallow);
int i=0;
foreach (txtFile; txtFiles)
i++;
writeln(i, " files found..");
Run Code Online (Sandbox Code Playgroud) 是否有一种简单的方法按自然顺序(也称为人类顺序)对文件进行排序,即file9.csv出现在file10.csv之前?list.files()似乎没有排序顺序的选项.
其他语言有很多实现(例如这里),Rosetta Code只有C,Perl,Python等解决方案.
如何将大量数据粘贴到R中的剪贴板上?
您可以使用write.table粘贴到剪贴板,或者粘贴到Windows自Windows引入的(稍微)更大的128kb剪贴板:
write.table(mtcars, "clipboard-128", sep="\t", row.names=FALSE)
Run Code Online (Sandbox Code Playgroud)
但是,如果您尝试粘贴大型数据框,则会收到错误消息:
big = data.frame(a=sample(LETTERS, 100000, replace=TRUE), b=rnorm(100000), c=rnorm(100000))
write.table(big, "clipboard-128", sep="\t", row.names=FALSE)
Warning message:
In .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol, :
clipboard buffer is full and output lost
Run Code Online (Sandbox Code Playgroud)
有哪些方法可以以Excel等其他程序可读的格式将大量数据放到剪贴板上?
我试图获取目录的内容,按修改时间排序.我不认为有一种方法可以在dirEntries调用中直接执行此操作,因此我的策略是收集所有文件时间和名称,然后按锁定步骤对两个数组进行排序.
问题1:我无法弄清楚如何将a sysTime转换为整数.
问题2:我无法弄清楚如何并行排序两个数组.
与D中的每个问题一样,不可能找到如何做到这一点:(
这是我的代码:
import std.file;
import std.stdio : writeln;
import std.algorithm;
import std.datetime;
void main() {
string[] myFiles;
double[] myTimes;
foreach (DirEntry e; dirEntries("c:/users/istaffel/", SpanMode.shallow)) {
// calculate unix time (this doesn't work)
auto dur = (cast(Date)e.timeLastModified) - Date(1970,1,1);
// store modified time and filename
myTimes ~= dur.seconds;
myFiles ~= e.name;
}
// now find a way to sort myFiles in order of ascending myTimes...
// print in order
for (int i = 0; …Run Code Online (Sandbox Code Playgroud)