R のデータフレームとリストの違いは何ですか? 質問する

R のデータフレームとリストの違いは何ですか? 質問する

違いは何ですか?データフレームそしてリストR? どちらをいつ使用すればよいですか? どちらがループしやすいですか?

正確な問題:まず、「a」、「b」、「c」のような 3 つの文字列要素を保存する必要があります。後で、それぞれにさらに 3 つの要素を追加する必要があります。たとえば、「a」の場合は、「a1」、「a2」、「a3」を追加する必要があります。後で、ネストされた for ループを使用してこれらの要素にアクセスする必要があります。

それで、データフレームやリスト、あるいは他のデータ型を使用するのに困っています。最初に保存してから(各列の種類を)追加できるのでしょうか?

現在、「置換するアイテムの数が置換の長さの倍数ではありません」などのエラーが発生しています

ベストアンサー1

この質問は、一部の人が考えるほど愚かなものではありません。その違いや、どこで何を使うべきかについて苦労している人はたくさんいると思います。要約すると、

リストは、R で最も柔軟なデータ構造です。各要素のクラス、長さ、構造に制限のない要素のコレクションとして見ることができます。注意する必要があるのは、2 つの要素に同じ名前を付けないことだけです。同じ名前を付けると混乱が生じる可能性がありますが、R ではエラーは発生しません。

> X <- list(a=1,b=2,a=3)
> X$a
[1] 1

データ フレームもリストですが、いくつかの制限があります。

  • 2つの異なる変数に同じ名前を使用することはできません
  • データフレームのすべての要素はベクトルである
  • データフレームのすべての要素の長さは同じです。

これらの制限とその結果生じる2次元構造により、データフレームは模倣する行列の動作の一部。行を選択して行に対して操作を行うことができます。リストでは行が未定義であるため、これを行うことはできません。

これらすべては、2 次元構造に適合するすべてのデータセットにデータ フレームを使用する必要があることを意味します。基本的に、列が変数と一致し、行が広い意味での単一の観測値と一致するすべてのデータセットにデータ フレームを使用します。その他のすべての構造では、リストを使用するのが適切です。

ネストされた構造が必要な場合は、リストを使用する必要があることに注意してください。リストの要素自体がリストになる可能性があるため、非常に柔軟な構造化オブジェクトを作成できます。

おすすめ記事