-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
solved #21 #31
base: master
Are you sure you want to change the base?
solved #21 #31
Conversation
別の関数を作るということに関しては問題ないです。が、集団中の全個体に一気に突然変異を起こさせるというアプローチはちょいと過激です。複製するときにある確率で、という自然な感じでお願いします。
1行の文字数を抑える方法にはいくつかありますが、とりあえず大きく2つ:
あとこの課題は #22 です。 些細な点:
for i in range(len(lst)):
do_something(lst[i])
for x in lst:
do_something(x) ちなみにこういうループの整数カウンタには |
3832bab
to
7da19f6
Compare
・クラス変数としてmutationrate = 0.01、などとおいてしまうと遺伝子によって変異率を変えたい時に不便な気がしますが、mutationrate = muとしてさらに初期化関数でmu = 0.01などと書き換えるのは良くないような気がして詰まっています(多分クラス変数についてあまりよくわかっていません、、、) |
422727d
to
7eb5e14
Compare
population.pyを書き換えてみたのですが、例えばある世代が[1,2,3,3,2]で、2番目の2に変異を起こしたいときに、2番目にも5番目にも同じ変異が入る仕様になってしまいます。roulettechoiceではpopulationsのi番目、という形で指定しているのにそうなる理由がわかりません |
「浅いコピー」の問題ですね。誰もが通るハマりポイントで、ネットにわんさか情報があるのでじっくり理解してください。 |
da61a1a
to
2b2c136
Compare
グラフのためのCSVの書き出しまではできたつもりなのですが(visualize.py)、できたCSVをR studioで読み込もうとするとエラーがたくさん出ます |
Wright-FisherでもMoranでも 列の名前や数が実行するたびに変わるデータを扱うのは難しいです。一方、行の変化に対応するのは簡単です。例えば下のような形式のほうがtidyで扱いやすそうですし、
私の手元で試してみたところ、読み込みでエラーは出ませんでした。このように、エラーには再現性が無い場合も多いので、報告と質問はもう少し具体的にしてください。どんな環境で、どんな変数に対して、どんなコードを実行して、どんな出力やエラーが出たのか、というのがなるべく分かるようにコンソールの内容を全部コピペしてここに張ってもらえると楽です。長くなっても構いません。 ここでソースコードっぽく表示させるには、3連back-tickで挟んだ fenced code block というを使います。言語指定すると色も付けてくれます。Markdown記法は今後もよく使うことになると思うので、早めに慣れていきましょう。 |
できました! |
|
できたと思います。
・適応度を遺伝子型に応じて持たせたくなると思ったので、next_genwfなどをいじると混乱しそうだったので新しい関数を作りました。出題の意図に沿えてなかったらすみません。
・関数や変数で分かりやすい名前をつけようとすると、一行の文字数が長くなってしまう(lintarに怒られる)のですがどうしたらいいものでしょうか
・list.sort()がなぜか使えなかったのですが、ライブラリのインポートが必要なメソッドなのでしょうか?