2017-12-12 6 views
1

私はRサバイバルパッケージ用に編成されたデータを持っていますが、別の構造を使用するGraphpad Prismで動作するようにデータをエクスポートします。ダストは好きだがデータの合計がない

#Example data 
Treatment<-c("A","A","A","A","A","B","B","B","B","B") 
Time<-c(3,4,5,5,5,1,2,2,3,5) 
Status<-c(1,1,0,0,0,1,1,1,1,1) 
df<-data.frame(Treatment,Time,Status) 

R生存パッケージ・データ構造は、この

Treatment Time Status 
A   3  1 
A   4  1 
A   5  0 
A   5  0 
A   5  0 
B   1  1 
B   2  1 
B   2  1 
B   3  1 
B   5  1 

ように見える私が必要出力は、一列として各処理を編成し、次に時間によってソート。それぞれの個体はその状態に従って1または0として記録されます。出力は次のようになります。

Time  A    B 
1       1 
2       1 
2       1 
3   1    1 
4   1       
5   0    1 
5   0    
5   0    

dcast()私が欲しいものに似た何かをするが、それはステータス値を合計し、一致する時間の値を持つすべての人のための1つのセルにそれらをマージします。

ありがとうございました!

+2

試してみる 'library(tidyverse); %s%%>%select(-new) ' – Sotos

+0

本当にありがとうございました!これは完璧です。 (fill = 0)を(fill =)に変更するだけで、NAを値のない行に返します。 – Crawdaunt

答えて

0

実際のデータにSotosのコードを実装しようとすると、私は奇妙な問題に遭遇しました。私はエラーを受け取りました:

Error in Math.factor(var) : ‘abs’ not meaningful for factors 

これは、Sotosのコードがその例のために動作するためです。私はsapply使用例のデータフレームをチェックすると()、それは私に結果を与えた:

> sapply(df,class) 
Treatment  Time Status 
"factor" "numeric" "numeric" 

私の問題は私の知る限り言うことができるように、私のステータス変数は私の例では、数値として読み取るが、整数にあったということでした私の実際のデータ:

> sapply(df,class) 
Treatment  Time Status 
"factor" "numeric" "integer" 

私は.csvファイルから私のデータをロードし、ので、多分それは、変数の呼び出しの変化を引き起こしたものです。私はas.numeric()を使用してStatus変数を変更し、データフレームを再生成しました。

Status<-as.numeric(df$Status) 
df<-data.frame(Treatment, Time, Status) 

新しいデータフレームにSotosのコードを適用することができました。

関連する問題