我有一个包含许多日期的电子表格.这些通常出现在mm/dd/yyyy
或mm/dd/yyyy hh:mm
.
问题是日期并不总是正确放入,我想检查以确保它们是代码中的日期.
我原来的想法是用来IsDate
检查或CDate
但这似乎不起作用:它仍然返回字符串而不是日期.
我已经建立了一个小实验,表明这些功能不像我期望的那样工作.方法是:
=DATE(2013,10,28)
=A1*1
应该等于一个数字(41575)运行这个小脚本
Sub test()
MsgBox ("Start:" & TypeName(ActiveCell.Value) & " " & IsDate(ActiveCell.Value))
ActiveCell.Value = Format(ActiveCell.Value, "mm/dd/yyyy")
MsgBox ("After format: " & TypeName(ActiveCell.Value) & " " & IsDate(ActiveCell.Value))
ActiveCell.Value = CDate(ActiveCell.Value)
MsgBox ("After Cdate: " & TypeName(ActiveCell.Value) & " " & IsDate(ActiveCell.Value))
End Sub
Run Code Online (Sandbox Code Playgroud)当脚本启动时,单元格的类型为date,并IsDate
返回true.在它运行之后,它是Format
string类型但IsDate
仍然返回true. CDate
还会将单元格转换为字符串.单元格B1现在也将返回0(因为它是一个字符串*1).
所以我想总结一下问题:
Format
和CDate
改变我的细胞为字符串?我正在尝试提出一种算法来优化多边形(或多个多边形)的形状,以最大化该形状中包含的值.
我有3列数据:
此数据来自常规网格,因此每个x和y值之间的间距是一致的.
我想创建一个边界多边形,通过添加的条件最大化包含的值.
我正在使用的当前算法执行以下操作
这似乎是在拾取一些不需要的细胞.我确定那里有形状算法,但我不知道该怎么查找才能找到帮助.
下面是一张希望有助于概述问题的图片.阳性细胞以红色显示(阴性细胞未显示).黑色轮廓显示我当前正在返回的形状.我相信左侧应该更多.最小半径为100米左下方的黑色圆圈大约是这个.
现在代码在R中运行,但如果我能使算法正确,我可能会转向别的东西.
为了回应不明确的投票,我试图在没有背景或尝试解决方案的情况下解决的问题是:
"围绕一系列点创建一个边界多边形(或多边形),以最大化所包含的值,同时沿多边形保持最小曲率半径"
编辑:
数据
我应该包含一些可以在这里找到的数据.
该文件是一个csv.4列(X,Y,Z [未使用],Value),长度为~25k,大小为800kb.
我想要做的是使用来自两个不同数据帧的gglot创建一个"躲闪"的条形图
不幸的geom_bar
是没有看到之前添加的数据所以它将它绘制在顶部,我尝试过使用位置和宽度,但它似乎没有改变任何东西,可能是因为它是每个类别一个条.
下面的代码创建的数据不正确地绘制数据(条形图彼此重叠),然后使用将数据框绑定在一起的解决方法正确绘制它.
library("ggplot2")
x<-data.frame(dat=rep(seq(1,4),3),let=rep("X"))
y<-data.frame(dat=rep(seq(1,4),4),let=rep("y"))
xy<-rbind(x,y)
#what I would like to use with two different data frames
ggplot(NULL,aes(dat))+
geom_bar(data=y,fill="red",width=0.1,position = "dodge")+
geom_bar(data=x,fill="blue",width=0.1,position = "dodge")
#what I would like to see only without binding dfs
ggplot(xy,aes(dat,fill=let))+geom_bar(position="dodge")
Run Code Online (Sandbox Code Playgroud)
我正在使用ggplot与其他仅使用单个数据帧的图表保持一致.
我希望将加权分布拟合到我拥有的数据集中.
我目前正在使用fitdist命令,但不知道是否有办法添加加权.
library(fitdistrplus)
df<-data.frame(value=rlnorm(100,1,0.5),weight=runif(100,0,2))
#This is what I'm doing but not really what I want
fit_df<-fitdist(df$value,"lnorm")
#How to do this
fit_df_weighted<-fitdist(df$value,"lnorm",weight=df$weight)
Run Code Online (Sandbox Code Playgroud)
我确信这个问题已经在某个地方得到了回答,但我看上去却找不到任何东西.
提前致谢,
戈登
我正在尝试编辑Lava中的脚本(Perl语言已经扩展用于挖掘软件Vulcan).
我遇到了模块的问题,因为我不习惯Perl,我无法完全解决它.
下面是一段代码
导致问题的模块是"宏".
use Lava;
use warnings;
use strict;
use vulcan;
use utf8;
use Macro 'RunMenu';
use File::Basename;
my $tri = 'C:\\_PROJECTS\\1404134_abc\\VULCAN\\faults.tri\\retriangulated\\gbc_ne1e_1606.00t';
my $tr = new Triangulation($tri);
#Runs fine
RunMenu("TRI_UTE_LOAD:$tri","abort",
"FINISH") || die "Macro mismatch.\n";
#Does not run fine
RunMenu("TRI_EDIT_INTERP","abort",
sub { Triangulation("$basedir\\$tri"); },
sub { PanelResults("Select interpolation option",
"line" => "",
"Maximum triangle area " => "$maxTriArea",
"Maximum boundary length" => "100.0",
"button_pressed" => "ok",
"Interpolate midpoints" => "1",
"Interpolate centroids" => "0",
"Honour breaklines" => "1"
); …
Run Code Online (Sandbox Code Playgroud)