rmongodbを使用してRでmongodbクエリを実行しています。私はすでに mongo.cursor オブジェクトを取得しており、これらのカーソル値を R データフレームに変換する必要があります。ただし、値には空の文字列と不要な長い文字が含まれているため、これらの空の文字列と長い文字列を NA に変換して、データフレームに変換できるようにする必要があります。以下は私のコードです
library(rmongodb)
mongo <- mongo.create(host="localhost")
dbns <- mongo.get.database.collections(mongo, db="namedisambiguation")
query <- '{ "name": { "$exists": true }, "username": { "$exists": true } }'
fields <- '{ "username": 1, "name": 1, "location": 1}'
cur <- mongo.find(mongo, dbns, query=query, fields=fields)
username <- name <- location <- NULL
while (mongo.cursor.next(cur)) {
value <- mongo.cursor.value(cur)
username <- rbind(username, mongo.bson.value(value, 'username'))
name <- rbind(name, mongo.bson.value(value, 'name'))
location <- rbind(location, mongo.bson.value(value, 'location'))
}
data2 <- data.frame(username=username, name=name, location=location)
私の場所では、次の出力が得られます。
[9972,] "NA"
[9973,] ""
[9974,] ""
[9975,] ""
[9976,] ""
[9977,] "Madrid"
[9978,] ""
[9979,] ""
[9980,] "San Antonsdnndsjo\todurnv\tkckdn"
[9981,] ""
[9982,] ""
[9983,] ""
[9984,] ""
[9985,] ""
これらの空の値と "San Antonsdnndsjo\todurnv\tkckdn" のような長い文字列を NA に変換するにはどうすればよいですか?