抛出FormatException我遇到了类似的问题.我的代码很简单:
void Orders_OnSubmit()
{
DateTime CurrentTime = DateTime.Now;
rtbAdd( "Submitted on " + CurrentTime.Date.ToString("MM/dd/yyyy") + " at " + CurrentTime.TimeOfDay.ToString("HH:mm:ss.ffffff") );
}
void rtbAdd(String S)
{
DefaultDelegate del = delegate()
{
rtb.AppendText(S + "\n");
};
this.Invoke(del);
}
Run Code Online (Sandbox Code Playgroud)
这有什么不对?这是一个线程问题吗?
我正在尝试用一个大表(大约9400万行,3列)进行一些基本的计算,这需要在R中使用类似ff的包.但是,我在使用这个包时遇到了麻烦,内存耗尽,虽然我知道我的电脑能够处理这个问题.我在下面列出了我的硬件/软件规格,以及我的代码似乎没有正确使用ff包.我花了100多个小时阅读每个pdf,ppt和网站,提到ff包装上的任何内容,我没有找到任何解释如何清楚地使用ff(至少对像我这样的业余爱好者).对我所做错的任何帮助都将不胜感激.当我计算到大约110万行时,这个逻辑似乎有效,但之后它似乎超出了界限.
我也尝试将'for'循环分解成总大小的1/200.在循环的每次传递中为现有的ShortPrice和LongPrice ff文件创建新的ff对象,然后在每次传递结束时为rm(),gc().当我在开头通过read.table.ffdf为每列创建ff文件时,由于某种原因,当尝试使用vmode ="quad","integer"创建新的ff对象到现有的TradePosition ff文件时,我会丢失TradePosition值"或"生".
硬件/软件规格:
数据/表格:
码:
library(ff)
options("fftempdir"="/Users/neil/Code/","ffbatchbytes"=20*getOption("ffbatchbytes"),"ffmaxbytes"=8*getOption("ffmaxbytes"),"ffpagesize"=1000*65536,"ffcaching"="mmnoflush")
ffdfTrades <- read.table.ffdf(file="/Users/neil/Code/Trades.txt",nrows=DatasetLength,FUN="read.table",header=TRUE,sep=";",quote="",colClasses=c("factor","numeric","numeric"),comment.char="")
Transactions <- c(rep(0,DatasetLength))
dataindex <- 1
for (dataindex in seq(1,DatasetLength-1,1)) {
if (ffdfTrades$TradePosition[dataindex]!=ffdfTrades$TradePosition[dataindex+1]) {
if (ffdfTrades$TradePosition[dataindex+1]=="Short") {
if (ffdfTrades$TradePosition[dataindex]=="Long") {
Transactions[dataindex+1] <- -2*ffdfTrades$ShortPrice[dataindex+1]
}
else {
Transactions[dataindex+1] <- -1*ffdfTrades$ShortPrice[dataindex+1]
}
}
else {
if (ffdfTrades$TradePosition[dataindex+1]=="Long") {
if (ffdfTrades$TradePosition[dataindex]=="Short") {
Transactions[dataindex+1] <- 2*ffdfTrades$LongPrice[dataindex+1]
}
else {
Transactions[dataindex+1] <- 1*ffdfTrades$LongPrice[dataindex+1]
}
}
} …Run Code Online (Sandbox Code Playgroud)