3

ddply のモード機能を使用して、特定のユーザーの最も一般的な文字列を期間ごとに見つけたいと思っていました。

これは、この質問とこの質問に大きく関係しています。

次のようなデータ セットを使用します。

Data <- data.frame(
    groupname = as.factor(sample(c("red", "green", "blue"), 100, replace = TRUE)),
    timeblock = sample(1:10, 100, replace = TRUE),
    someuser = sample(c("bob", "sally", "sue"), 100, replace = TRUE))

私が試した:

groupnameagg<- ddply(Data, .(timeblock, groupname, someuser), summarise, groupmode = mode(groupname))

しかし、それは私が期待していたものではありません。戻り値:

> head(groupnameagg$groupname)
[1] "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
  1. タイムブロックごとにユーザーごとに最も一般的に発生するグループ名を見つけるにはどうすればよいですか? 次のような結果になります。

    timeblock   username  mostcommongroupforuser
        1          bob     red
        1          sally   red
        1          sue     green
        2          bob     green
        2          sally   blue
        2          sue     red
  1. groupname がレベルごとに編成されている場合、各タイムブロックに存在する最高レベルを取得するにはどうすればよいですか?
4

2 に答える 2