2017-10-08 11 views
-3

タイトルがひどく一般的です。私は何をしようとしているのかを簡潔に表現する方法は知らない。既存のデータフレーム内のデータからバケットの行に基づいてデータフレームを作成するR

私はRで2列のデータフレームを取得しました。列Aにはデータ値があり、列Bには現在ビンされたデータがありました(今年の列Aに関連付けられた年でした。

関連するデータ値を持つ列としてビンラベルを使用する新しいデータフレームを生成する必要があります。このデータフレームは、行のエントリとして、好ましくはソートされ、長さの異なる列を防ぐために「NA」で埋められます。

サンプルデータ:

df <- data.frame(values=c(1,NA,3,NA,5:6,7:9), 
       bins=rep(c("yr1_yr2","yr2_yr3","yr3_yr4"),each=3)) 

ソリューションEDIT:だから多くの実験の後、私はその後、ビンに自分のデータをスライスするggplot2から「cut_width」関数を使用することによって、私は私のデータを望んでいた何をすることができましたそれを分布グラフに表示する。 あなたのお試しいただきありがとうございます、あいまいな質問とサンプルデータの不足のために再度申し訳ありません。これはあなたが望むものに近づいている場合...

+0

あなたが使用することができます 'ライブラリ(data.table); dcast(SETDT( dat)、rowid(label)〜label、value.var = 'year') ' – akrun

+0

おそらく期待される出力を提供しますか? – useR

答えて

0

かなりわからない

library(tidyverse) reshape2::melt(df, id.vars='bins', measure.vars='values')

戻り

bins variable value 
1 yr1_yr2 values  1 
2 yr1_yr2 values NA 
3 yr1_yr2 values  3 
4 yr2_yr3 values NA 
5 yr2_yr3 values  5 
6 yr2_yr3 values  6 
7 yr3_yr4 values  7 
8 yr3_yr4 values  8 
9 yr3_yr4 values  9 
関連する問題