2017-03-27 10 views
-4

私はRを初めて使っています。最初の行に名前、2番目の行に名前が属するカテゴリ、3番目以降の行から2年間の価格観測データセットがあります。私は2番目の行のカテゴリを使用してデータフレームを分割したいと思います。これはどうすればいいですか?Rのデータフレームを分割する

これは私のデータセットは、(Rの)次のようになります。

enter image description here

これは、私はそれが(エクセル上)のようになりたいものです。 enter image description here

注:私はこれを行うことはできませんExcelには、あまりにも多くのカテゴリがあるので、インポートします。

+0

私はこの質問をする前に、その記事を読んでいた、そうは思いません。問題は、データセットの構造です。私は私のデータセットのようなもののキャプチャを追加しました。 –

+0

あまりにも期待しているもののキャプチャを投稿してください。あなたの最終要件を理解できません。 –

+0

エンド要件のキャプチャを公開しました。 –

答えて

0

複数possiblities

df <- data.frame(data = c(1:12), category = rep(letters[1:3], 4)) 
  1. subset機能。

    df_a <- subset(df, category == "a") 
    
  2. 基本data.frameのサブセット

    df_a <- df[df$category == "a",] 
    
  3. リストに

    ls <- list 
    for(category in unique(df$category)){ 
        ls[[category]] <- df[df$category == "a", ] 
    } 
    
+0

カテゴリに行名がないため、サブセットまたは他の提案を使用することができません。私のデータセットが今のように見えるもののキャプチャを追加しました。 2行目の行名を追加できるかどうかはわかりません。 –

0

あなたの質問で答えを持っています。 splitまたはsplit.data.frame関数がそれを行います。これが機能するには、第2引数が因子型でなければなりません。

newdf <- split.data.frame(iris, iris$Species) 
newdf 
+0

カテゴリに行名がないため、splitを使用することができません。私のデータセットが今のように見えるもののキャプチャを追加しました。 2行目の行名を追加できるかどうかはわかりません。 –

関連する問題