0

基本的なデータ フレームを読み書きする簡単な方法を探しています。

symbMat <- matrix("AJY", "6A", "6J", 0, 0, ncol=5)
colnames(symbMat) <- c("Symb1","Symb2","Symb3","lastVstamp","completedRows")
testFrame<-List(symbMat,matrix(c("date1","date2")))

したがって、testFrameは次のようになります

[[1]]
 Symb1 Symb2 Symb3 lastVstamp completedRows
[1,] "AJY" "6A"  "6J"  "0"        "0"          

[[2]]
     [,1]   
[1,] "date1"
[2,] "date2" 

問題は、 read.table("MultiTable", header=TRUE) がすべてを1つの2x6行列として扱うファイルを提供することです(最後の列の名前がめちゃくちゃです)

"Symb1" "Symb2" "Symb3" "lastVstamp" "completedRows" "structure.c..date1....date2.....Dim...c.2L..1L.."
"1" "AJY" "6A" "6J" "0" "0" "date1"
"2" "AJY" "6A" "6J" "0" "0" "date2"

その間

 install.packages("MASS")
 library(MASS)
 write.matrix(testFrame,file="MultiTable")

ファイルを作るだけ

AJY、6A、6J、0、0
日付1、日付2

これは明らかにかなりの情報損失です。その上、 read.matrix() がないので、とにかくその関数のポイントが何であるかわかりません

何か案は?

4

1 に答える 1

1

まず、 でtestFrameはありませんdata.frame。Adata.frameは R の非常に特殊なオブジェクト タイプです。ただし、データの保存と再読み込みに影響はありません。save()データの保存と読み込みには、 /load()dump()/の 2 つの関数セットがありますsource()。1 つ目はバイナリ形式を作成し、2 つ目はテキスト形式を作成します (ただし、画面に表示されるものと同じ構造ではありません)。

例のタイプミスを修正します。

symbMat <- matrix(c("AJY", "6A", "6J", 0, 0), ncol=5)
colnames(symbMat) <- c("Symb1","Symb2","Symb3","lastVstamp","completedRows")
testFrame<-list(symbMat,matrix(c("date1","date2")))

testFrame

> testFrame
[[1]]
     Symb1 Symb2 Symb3 lastVstamp completedRows
[1,] "AJY" "6A"  "6J"  "0"        "0"          

[[2]]
     [,1]   
[1,] "date1"
[2,] "date2"

save()load(): _

save(testFrame, file="temp.RData")
load(file="temp.RData")

dump()source(): _

dump("testFrame", file="temp.R")
source(file="temp.R")

の最初の引数dump()が引用符で囲まれていることに注意してください。 temp.Rその時は

testFrame <-
list(structure(c("AJY", "6A", "6J", "0", "0"), .Dim = c(1L, 5L
), .Dimnames = list(NULL, c("Symb1", "Symb2", "Symb3", "lastVstamp", 
"completedRows"))), structure(c("date1", "date2"), .Dim = c(2L, 
1L)))

と同じ方法でオブジェクトを表しますdput()

于 2013-04-24T18:59:01.650 に答える