2016-10-03 6 views
0

ディスカッションフォーラムに投稿されたメッセージスレッドを抽出するデータフレームがあります。このデータフレームの作成にR Rマークダウンで印刷するためのデータフレーム値を抽出する

threadStarterName1 threadstarter1 comment1 commenterName1 
threadStarterName1 threadstarter1 comment2 commenterName2 
threadStarterName1 threadstarter1 comment3 commenterName3 
threadStarterName1 threadstarter1 comment4 commenterName4 
threadStarterName1 threadstarter1 comment5 commenterName5 

コード:データベースからテーブルを結合することによって、私はこのようになります構造を取得し、次のように

 df=data.frame("threadStarterName"=c("threadStarterName1","threadStarterName1","threadStarterName1","threadStarterName1","threadStarterName1"), 
"threadStarter"=c("threadStarter1","threadStarter1","threadStarter1","threadStarter1","threadStarter1"), 
"comment"=c("comment1","comment2","comment3","comment4","comment5"), 
"commenterName"=c("commenterName1","commenterName2","commenterName3","commenterName4","commenterName5")) 

は私が値を抽出するために、このデータフレームを再フォーマットする必要がどの私は、レポートのためのR-値下げでプリントアウトすることができます

threadstarter1 threadStarterName1 
    comment1  commenterName1 
    comment2  commenterName2 
    comment3  commenterName3 
    comment4  commenterName4 
    comment5  commenterName5 

感謝を事前に!

+1

これまでにコードを投稿できますか? – GrandMasterFlush

+1

http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example再現可能な例から始めてください。 –

+0

この記事ではっきりしないいくつかの特定の事柄( 'dput()'やBrandonのリンクからのその他の推奨事項は修正されます): 'threadstarter'と' message1'は同じ列か別の列ですか? 'row1 row2' ...' row.names'属性か別の列ですか?あなたのクラスはどのクラスですか?これは複数のメッセージに一般化する必要があるのですか?あるいは、データフレームには 'message1'しか含まれていませんか?そして、あなたは何を試しましたか?それはどこで失敗したのですか?どのように立ち往生しましたか? – Gregor

答えて

0

私が正しく理解していれば、元のスレッドポスト(およびその作成者)は各行で繰り返され、その代わりに一度しか表示されず、コメントコンテンツとコメント作成者と同じ列に存在します。

もしそうなら、これは実行する必要があります。

onlyOnce <- 
    data.frame(
    user = c(df$threadStarterName[1] 
      , df$commenterName) 
    , commentPosted = c(df$threadStarter[1] 
         , df$comment) 
) 

をこれは、最初のスレッドの作者エントリ(およびそのポストを)取り、コメント作成者(と彼らのコメント)上記の上部にそれを置きます。

関連する問題