rmongodb を使用するのは初めてです。現在、私はいくつかの基本的なクエリを扱っています。興味のある 2 つの変数があるとします。求職者とその GPA です。一部のGPAは空白で、含まれていないため、bson値はnullです。問題は、クエリが異なる長さのリストを返すため、候補を名前に一致させるのに問題があることです。名前クエリは 153 の候補のデータ フレームを返し、GPA クエリは 132 のデータ フレームを返します...したがって、それらを一致させることはできません。
これは私がしていたことです。
### pulling candidate first names and creating a data frame
buf <- mongo.bson.buffer.create()
query <- mongo.bson.from.buffer(buf)
buf <- mongo.bson.buffer.create()
err <- mongo.bson.buffer.append(buf, "data.FNAME", 1)
field <- mongo.bson.from.buffer(buf)
out <- mongo.find(mongo, "dynamite.tdpCandidates", query, fields = field)
res <- NULL
while(mongo.cursor.next(out)){
value <- mongo.cursor.value(out)
Rvalue <- mongo.bson.to.list(value)
res <- rbind(res, Rvalue)
}
test1 <- data.frame(firstName = unlist(res[,2], recursive = TRUE))
test1 <- data.frame(lapply(test1, as.character), stringsAsFactors=FALSE)
153 名の名前を返します。
#### pulling candidate education GPA and creating a dataframe from them
buf <- mongo.bson.buffer.create()
query <- mongo.bson.from.buffer(buf)
buf <- mongo.bson.buffer.create()
err <- mongo.bson.buffer.append(buf, "data.EDUCATION.GPA", 1)
field <- mongo.bson.from.buffer(buf)
out <- mongo.find(mongo, "dynamite.tdpCandidates", query, fields = field)
res <- NULL
while(mongo.cursor.next(out)){
value <- mongo.cursor.value(out)
Rvalue <- mongo.bson.to.list(value)
res <- rbind(res, Rvalue)
}
test10 <- data.frame(candGPA = unlist(res[,2], recursive = TRUE))
test10 <- data.frame(lapply(test10, as.character), stringsAsFactors=FALSE)
132 の GPA を返します。
これを行うためのより良い方法、または bson null をクエリする簡単な方法がある場合は、提案をいただければ幸いです。