以下のようなデータフレームのデータに対し、Pythonのgensimを用いてLDAを行いたいのですが参考にできるサイト・書籍がなく困っています。
ぐぐるとインプットするデータは本文のみのtxtファイルばかりです。

id,q1,q2,txt1,txt2,txt3
1,2,2,hogehoge,fugafuga,piyopiyo
2,3,1,hogafuge,fugehoga,puyo
...

アウトプットイメージは以下のような感じです。
今回はtxt1を3トピック、txt2を2トピック、txt3を5トピックにしました。(可変です)

id,q1,q2,txt1,txt2,txt3,ptxt1_1,ptxt1_2,ptxt1_3,ptxt2_1,ptxt2_2,ptxt3_1,ptxt3_2,ptxt3_3,ptxt3_4,ptxt3_5
1,2,2,hogehoge,fugafuga,piyopiyo,0.2,0.5,0.3,0.6,0.4,0.2,0.2,0.2,0.2,0.2
2,3,1,hogafuge,fugehoga,puyo,0.2,0.5,0.3,0.6,0.4,0.2,0.2,0.2,0.2,0.2
...

右側にそれぞれのトピックの確率が付く感じです。

参考になるページやコードでも構いません。
Rのtopicmodelsを使って分析、でも構わないです。

お手数ですが、お詳しい方よろしくお願いいたします。

追記
【Python】トピックモデル(LDA) - Qiita

上記ページのコードではtxtファイルをwith openで開き、for line in fで一行ずつ回しているようですが、これをデータフレームで書くとどのようになりますでしょうか?

一度データフレームをtxtファイルで出力して再度読み込み、というのは避けたいと思っております。

追記2
最後の各トピックの確率をデータフレームにするところで詰まっています…

    df = pd.DataFrame(index=[],columns=['title','a1','a2','a3'])

    for unseen_doc, raw_train_text in zip(test_corpus, raw_test_texts):
        print(raw_train_text, end='\t')
        title = pd.DataFrame([raw_train_text])
        for topic, score in lda[unseen_doc]:
            score_by_topic[int(topic)] = float(score)
            scr = pd.DataFrame.from_dict(score_by_topic,orient='index').T
            plus = pd.concat([title,scr],axis=1)
        for i in range(NUM_TOPICS):
            print('{:.2f}'.format(score_by_topic[i]), end='\t')
            df = df.append(plus)

というコードで一行ずつ下からくっつけようとしていますが、

ValueError: Plan shapes are not aligned

というエラーが出てしまいます。

appendの1行をコメントアウトすると通ります。

詳しい方、ご助言をよろしくお願いいたします。