2

こんにちは私はいくつかのデータを分析していて、そのような方法でフォーマットされなければならないオブジェクトを含むパッケージを使おうとしています。私はこのタイプのフォーマットを見たことがなく、それを生成する方法がわかりません。Rでオブジェクトを呼び出すと、これは奇妙なオブジェクトです。

> a
     A      B          C            D         E          F 
0.00000000 1.34529412 0.31571429 1.26327103 0.32615385 1.12585586 

このオブジェクトのいくつかの属性は次のとおりです。

> str(a)
 Named num [1:6] 0 1.345 0.316 1.263 0.326 ...
 - attr(*, "names")= chr [1:6] "" "A" "B" "C" ...

> class(a)
[1] "numeric"

標準のwrite.csvコマンドを使用して「a」を.csv形式に書き込むことができます。これは、2つの列、1つの列に文字、もう1つの列に数字を使用して適切にフォーマットします。read.csvを使用してRで読み戻そうとすると、2列のデータフレームとして正しく返されます。しかし、私が使おうとしている関数は、データフレーム形式が好きではなく、「a」の形式を優先します。

したがって、次のようなデータセットの例をとることができます。

> L <- c("A","B","C","D","E","F")
> R <- c(0.00000000,1.34529412,0.31571429,1.26327103,0.32615385,1.12585586 )
> T <- list(L=L,R=R)
> Example <- as.data.frame(T)
> Example
  L     R
1 A 0.00000000
2 B 1.34529412
3 C 0.31571429
4 D 1.26327103
5 E 0.32615385
6 F 1.12585586 

そしてそれをこれに戻しますか?

     A      B          C            D         E          F 
0.00000000 1.34529412 0.31571429 1.26327103 0.32615385 1.12585586 

これらの属性で?

  > str(a)
     Named num [1:6] 0 1.345 0.316 1.263 0.326 ...
     - attr(*, "names")= chr [1:6] "" "A" "B" "C" ...

    > class(a)
    [1] "numeric"

お手伝いありがとう!

4

3 に答える 3

4

私はこれがあなたが探しているようなものだと思います:

newExample <- Example$R
names(newExample) <- Example$L
于 2011-07-06T00:15:27.897 に答える
3

write.table()またはwrite.csv()を使用してディスクに書き込む代わりに、save()の使用方法を学ぶ必要があります。そうすれば、オブジェクトをload()に戻すと、適切に作成されたコピーが確実に得られます。ASCIIで読み取り可能な形式でオブジェクトを確認する必要がある場合は、dump()を使用できます。

于 2011-07-06T00:42:53.473 に答える
0
R <- t(Example$R)
L <- t(Example$L)
names(R) <- L
str(R)

num [1、1:6] 0 1.345 0.316 1.263 0.326 ... --attr(*、 "names")= chr [1:6] "A" "B" "C" "D" .. ..

于 2013-11-04T07:57:10.447 に答える