0
データフレームがあり、そこからブール値データフレームを作成したいと思います。私は元のデータフレームのすべての列のすべての一意の値をブール値データフレームの列名として作成したいと考えています。例を使用してそれを表示するには:データフレームからブール型データフレームを作成するR
mydata =
sex route
m oral
f oral
m topical
f unknown
その後、私は
m f oral topical unknown
1 0 1 0 0
0 1 1 0 0
1 0 0 1 0
0 1 0 0 1
を作成したい私はboleanデータフレームを作成するために、以下のコードを使用しています。 Rで動作しますが、光沢では動作しません。何が問題なの?
col_names=c()
for(i in seq(1,ncol(mydata))){
col_names=c(col_names,unique(mydata[i]))
}
col_names= as.vector(unlist(col_names))
my_boolean= data.frame(matrix(0, nrow = nrow(mydata), ncol = length(col_names)))
colnames(my_boolean)=col_names
for(i in seq(1,nrow(mydata))){
for(j in seq(1,ncol(mydata)))
{
my_boolean[i,which(mydata[i,j]==colnames(my_boolean))]=1
}}
model.matrixを使用してみてください: 'model.matrix(〜セックス+ルート - 1、MYDATA)は'私が 'model.matrix(ただし、@NBATrendsと思い – Raad
クリーナーです〜セックス+ルート - 1、私のデータ) 'は、カテゴリの1つがベースラインとして使用されているため、正しい結果を得られません。これを修正するには、 'cbind(model.matrix(〜sex-1、mydata)、model.matrix(〜route-1、mydata))'を実行することができます。 – Bayesric
あなたはあなたの質問のその部分で助けを得るために光沢のあるものではないことを説明しなければならないでしょう。 – A5C1D2H2I1M1N2O1R2T1