在R中以原始格式导出数据

时间:2016-08-29 18:21:39

标签: r import export

我将在这里简要介绍一下我的问题...... 我正在使用Access数据库文件(.accdb),由于一些兼容性问题,我不得不运行32位版本的R来访问数据库和导入数据。我已导入数据,但当我尝试对数据文件执行某些操作(合并)时,我遇到了错误

Error: cannot allocate vector of size 152.1 Mb 

所以我的解决方案是,使用32位版本导入数据并以64位版本运行程序。 (有没有更好的方法呢?)

我的问题是从R导出数据的最佳方法是什么?我不想将它们导出到excel / csv文件中,因为写入/读取它们将再次消耗大量时间。如何在R中导出原始数据以及如何将此数据导入我的新环境(64位)?或者有更好的方法来做到这一点吗?

1 个答案:

答案 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