2

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 をクエリする簡単な方法がある場合は、提案をいただければ幸いです。

4

0 に答える 0