2

今日の私の質問は、Rで作業しているデータフレームに関するものです。データフレームのヘッダーは次のようになります:String(unique)、Integer N [0-23]

これらの24の整数値は、1日の各時間に関連付けられた文字列の頻度を表します。論理的には、各行のint値は、一般にデータに文字列が表示される頻度の合計になります。

つまり、特定の時間における文字列の実際の頻度は必要ありませんが、この頻度がすべての行の整数値の合計に対して表すパーセンテージです。

私の講師は、table()がそのための適切なRツールである可能性があることをほのめかしましたが、それがどのように役立つかを正直に理解していません。

他のすべてが失敗した場合は、Javaで計算します-Rでこれを行うためにあなたの助けを本当に感謝しますが。

これまで読んでくれてありがとう、そしてあなたの助けを前もって感謝します、

リッキーフォックス

@@@@@@私はあなたの編集です、私を読んでください@@@@@@

ジェームズから得た助けを借りて、私は次の適切なものを手に入れました

つまり、パーセンテージの合計は各行で100になりますが、テーブル全体でそうする必要があります。それを行う方法はありますか?

4

1 に答える 1

6

値を含むに使用prop.tableします。matrix

x <- data.frame(id=letters[1:3],val0=1:3,val1=4:6,val2=7:9)
prop.table(as.matrix(x[-1]),margin=1)
           val0      val1      val2
[1,] 0.08333333 0.3333333 0.5833333
[2,] 0.13333333 0.3333333 0.5333333
[3,] 0.16666667 0.3333333 0.5000000

編集:完全に機能する例:

tt=read.table("topichitsperhod.csv",sep=",",header=TRUE)  
tt=na.omit(tt[-1])
pt=prop.table(tt[-1],margin=NULL)

最初の列はトピック文字列を保持しているため、省略されています。

于 2012-09-25T08:15:55.750 に答える