1
我希望能夠將一個複雜的R對象轉換爲一個字符串,並將其轉換回原始對象。作爲一個字符串的複雜R對象的可逆收集結構
爲了簡單起見,可以說我有一個列表:
lt <- list(a=1:10,b=data.frame(a=10, b=1:5))
lt
如果我想看到這個屏幕上,我會做到以下幾點:
dput(lt)
但是,下列情況不工作:
x <- dput(lt)
x
x <- dput(lt,control="showAttributes")
x
因爲x ==的值。
根據以前的嘗試,我嘗試了幾件事: deparse
x <- deparse(lt)
x
作品,但逆轉不起作用:
eval(parse(x))
和下面給出一個錯誤:
dump(lt)
我能得到它根據this advice工作:
x <- capture.output(dput(lt))
x <- paste(x,collapse="",sep="")
x
dget(textConnection(x))
但是,我想知道第一種方法有什麼問題(用eval(parse(x)))。 任何幫助非常感謝!
你爲什麼要重建呢?原始對象'lt'仍然存在。 –