/ /タプルを含むデータフレーム-r、データフレーム、遺伝的アルゴリズム

タプルを含むデータフレーム - r、データフレーム、遺伝的アルゴリズム

私はGAアルゴリズムに取り組んでいます(組み合わせ論的問題)では、タプルで表されたときに遺伝子が最も扱いやすくなります。人口の各メンバーには複数の遺伝子があるため、いくつかのアトミック変数(IDやスコアなど)があり、変数の一部がタプルを表す観測値を保持できるデータフレームが必要です。私は、ベクトル、リスト、および行列を使用してこれらのタプルを表現しようとしましたが、すべての場合、Rは単に cbind/rbindデータフレームにタプルを入力するか、エラーをスローします。

例(母集団の両方のメンバーを同じ遺伝子で開始する)

ID<-1:2
Score<-c(0,0)
Gene1<-list(1:3)
Gene2<-list(4:6)
Gene3<-list(7:9)
testing<-data.frame(ID,Score,replicate(2,Gene1),replicate(2,Gene2),replicate(2,Gene3))
Error in data.frame(ID, Score, replicate(2, Gene1), replicate(2, Gene2),  :
arguments imply differing number of rows: 2, 3

データフレームを次のようにしたい...

ここに画像の説明を入力

そして、私は次のようなものを使用して人口メンバーのフィットネスをスコアリングすることができます Fitness.Score(testing[,"Gene1"],testing[,"Gene2"],testing[,"Gene3"])

Rにこれをさせる方法はありますか?

回答:

回答№1は0

これは実際、私が作成していたよりも簡単です。を使用して data.frame 関数により rbind/cbind 型の振る舞い。 data.frameを作成してから変数を追加することはしません。

ID<-1:2
Score<-c(0,0)
Gene1<-list(1:3)
Gene2<-list(4:6)
Gene3<-list(7:9)
testing<-data.frame(ID,Score)
testing$Gene1<-replicate(2,Gene1)
testing$Gene2<-replicate(2,Gene2)
testing$Gene3<-replicate(2,Gene3)
View(testing)