Rでhashmapを作成しようとしていますが、twitterユーザー(文字列)のスクリーン名とキーでRを作成しようとしています。整数)。has.keyメソッドがRのハッシュパッケージに正しく格納されていない文字列キー
user_count_map <- hash()
i=1
while(i<= num_tweets){
screen_name <- tweets_df[i,]$screenName
#print (screen_name)
#str(screen_name)
if(has.key(screen_name,user_count_map)==TRUE){
count <- user_count_map$screen_name
user_count_map$screen_name <- (count +1)
} else {
user_count_map$screen_name <- 1
}
i = i+1
}
データフレームtweets_dfで約17Kツイート(〜17K num_tweetsので)があると私は以上1つのつぶやきを収集している誰のためのユーザーは確かにあります。問題は、 'if'文が決して実行されず、コントロールが常にが 'else'ステートメントに渡されることです。このコードの実行後に、このマップの長さは、ここでは1であるキーの出力(IS)と値()メソッド: - ここ
values(user_count_map)
screen_name: 1
keys(user_count_map)
'screen_name'
は、STR(SCREEN_NAME)の一方の出力である: -
chr "Ixxxxxxxxa"
明らかに、screen_name変数が解決され/ハッシュされ、マップに格納される方法にハッシングの問題があります。これを是正するために私は何ができますか?私はRにかなり新しいです。どんな助けもありがたいです。
を使用して、「[」のいずれかに動作しません使用して、「[[」演算子はありません。私は理由を理解しようとしています。おかげで – opensam
奇数。 "[" 1つのテスト例で私の仕事をしましたが、テストするための完全なデータフレームがありませんでした。 – G5W