0

私はRを初めて使用するので、これが初歩的な質問である場合は事前にお詫びしますが、高低を検索しましたが、答えが見つかりませんでした.

複数のデータ フレームを含むファイルを作成したいと考えています。(例として、BradleyTerry2 パッケージのデータセット "flatlizards" があります。このファイルは "flatlizards" と呼ばれますが、その中には "contests" と "predictors" という 2 つのデータ フレームがあります。データ "flatlizards" を見たい場合、 2 つのデータ フレームは、対応する見出しの下に別々に表示されます)。

別々に名前が付けられた 2 つのデータ フレームを 1 つのファイルに結合するにはどうすればよいですか? また、CSVファイルでこれを行うにはどうすればよいですか? すべてのデータを 1 つの CSV ファイルにする必要がありますか、それとも複数のファイルにする必要がありますか? よろしくお願いします。

4

3 に答える 3

4

問題のオブジェクトはリストです。これは、次のコードを使用して確認できます。

library(BradleyTerry2)
data(flatlizards)
str(flatlizards)

これは2つのリストであり、その要素は個別のデータフレームであることがわかります。

次のように、オブジェクトをリストにまとめて簡単に組み合わせることができます。

a <- data.frame(x=rnorm(10), y=runif(10))
b <- data.frame(w=rnorm(20), z=runif(20))

ablist <- list(a, b)

そこから、@mrdwabが採用したアプローチを採用します。

または、1つのデータフレームまたは1つのcsvでそれらが必要な場合は、を使用してみてくださいmerge

于 2012-08-01T06:13:09.357 に答える
3

以下は非常に基本的な例です。

# Clean out your current workspace
rm(list=ls())

# Create two objects
a = 1:10
b = letters[1:10]

# Save them to one file
save(a, b, file="demo.RData")

# Remove them from the workspace
rm(a, b)
ls()
## character(0)

# Re-load the data
load("demo.RData")
ls()
## [1] "a" "b"
a
## [1]  1  2  3  4  5  6  7  8  9 10
b
## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"

CSV ファイルのデータにも同じ原則が適用されます。それらを読み込んで、必要なクリーニングを行ってから、それらを 1 つの.RDataファイルにまとめるだけです。

save.image()現在のワークスペースのすべてを保存するものもあります。

更新list: Sebastian の回答を読んだ後、 of の作成にもっと興味があるようですdata.frames。これに関心があり、別の CSV ファイルからデータを読み取る必要がある場合は、この投稿を参照して作業を開始してください。

于 2012-08-01T06:06:40.100 に答える
0

sebastian-c で解決策を完成させるために、リストのコンポーネントに名前を付けることもできます。

a <- data.frame(x=rnorm(10), y=runif(10))
b <- data.frame(w=rnorm(20), z=runif(20))

ablist <- list(first=a, second=b)

ablist$first
ablist[[1]]

ablist$second
ablist[[2]]
于 2012-08-01T07:50:49.057 に答える