我将在这里简要介绍一下我的问题...... 我正在使用Access数据库文件(.accdb),由于一些兼容性问题,我不得不运行32位版本的R来访问数据库和导入数据。我已导入数据,但当我尝试对数据文件执行某些操作(合并)时,我遇到了错误
Error: cannot allocate vector of size 152.1 Mb
所以我的解决方案是,使用32位版本导入数据并以64位版本运行程序。 (有没有更好的方法呢?)
我的问题是从R导出数据的最佳方法是什么?我不想将它们导出到excel / csv文件中,因为写入/读取它们将再次消耗大量时间。如何在R中导出原始数据以及如何将此数据导入我的新环境(64位)?或者有更好的方法来做到这一点吗?
答案 0 :(得分:1)
in 32 bit:
DI
然后在64位:
.model small
.stack
.data
msg1 db "Enter String:$"
msg2 db 13,10,"Enter Start:$"
msg3 db 13,10,"Enter Length:$"
msg4 db 13,10,"Mid-String:$"
nwln db 13,10
mySample label byte
maxlen db 10
actlen db 0
string db 19 dup (?)
.code
mov ax,@data
mov ds,ax
lea dx, msg1 ;print msg1
mov ah,9
int 21h
lea dx,mySample ;accept string
mov ah,0Ah
int 21h
mov bh,0
mov bl,actlen ;◄■■■ NOT MAXLEN.
mov string[bx],'$'
mov ah,9
lea dx,string ;print string accept
int 21h
lea dx, msg2 ;print msg2 and accept start
mov ah,9
int 21h
mov ah,1
int 21h
sub al,30h
mov bh,0
mov bl,al
mov si,bx ;◄■■■ SAVE BX IN SI, BECAUSE WE WILL NEED
;◄■■■ BX FOR SOMETHING ELSE (SI = "START").
lea dx, msg3 ;print msg3 and accept length
mov ah,9
int 21h
mov ah,1
int 21h
sub al,30h
mov bl,al ;◄■■■ REPLACE DL BY BL BECAUSE DX WILL
;◄■■■ BE USED TO DISPLAY WITH INT 21H.
;mov maxlen,dl
mov bh,0 ;◄■■■ NOW BX = "LENGTH". BUT WE WILL NEED
mov di,bx ;◄■■■ BX AGAIN, SO LET'S MOVE "LENGTH" TO DI.
;mov bl,maxlen
add di, si ;◄■■■ CALCULATE END POSITION.
dec di, 1 ;◄■■■ MINUS 1 BECAUSE IT STARTS IN 0.
mov string[di],'$'
lea dx,msg4 ;print msg4
mov ah,9
int 21h
;lea dx,string ;print mid-string
mov dx,offset string
add dx,si
int 21h
mov ah,4ch
int 21h
END