Noob Rここで質問してください。私は、数百人の異なるユーザーを持つデータセットを持っています。各ユーザーは、一意の数のデータ行を持ち、行列のリストとしてデータを格納したいと考えています。したがって、ユーザー1は500行のマトリックスを持ち、ユーザー2は250のマトリックスを持つことができます。これは、各ユーザのベータを説明するための法線が混在した階層型ロジットの入力として使用されます。私のデータセットの列1はユーザーIDで、残りの列は数値です。Matlab/Pythonユーザからここに質問があります。R
data <- read.csv("hierarchical_dataset.csv", header=FALSE)
nlgtt = length(table(data[[1]])) # number of users
users = names(table(data[[1]])) # user ids
これまでのところ良い
すべてが、ここで私はエラーを取得しています場所です:
TV = matrix()
testdata = list()
for (i in 1:nlgtt)
{ TV[i] = matrix(table(data[[1]])[[i]]) # number of rows per user
print(TV[i]) # should equal the below line
print(dim(data[data[[1]] == users[i], ])) # should equal the above line
testdata[i] = data[data[[1]] == users[i], ] # store hierarchically by user
}
私は上記を実行すると、印刷された値が一致するので、正しいデータが取得されているが、各testdata[i]
のusers[i]
値(ユーザーID)と、number of items to replace is not a multiple of replacement length
というエラーが繰り返されます。私はこれが単なる書式設定の問題であると確信していますが、周りを見回して、私の問題を解決するものを見つけることができませんでした。ヘルプは高く評価しました!