2016-12-03 7 views
1

このコードは、私がPymongoでどのように行うのかを示していますが、もし私がRMongoでそれをやりたければどうしますか?RMongoを使用してperticularの列の平均を計算する方法は?

from pymongo import MongoClient 

connection = MongoClient() 
db = connection.mydb 
collection = db.transactions 

pipe = [{'$group': {'_id': 'TRANS_AMNT_AVG', 'average': {'$avg':'$TRANS_AMOUNT'}}}] 
result = collection.aggregate(pipeline=pipe) 

print(list(result)) 

connection.close() 

私のデータセットがtransactionsと呼ばれ、列はTRANS_AMOUNTと呼ばれています。平均TRANS_AMOUNTを計算したいと思います。

答えて

0

私は仕事をMongoDBのためにR用mongoliteを使用することを好む、実際にコードを使用すると、

library(mongolite) 

mongo <- mongo(collection = "transaction", db = "test") 

## dummy data 
set.seed(2016) 
df <- data.frame(TRANS_AMOUNT = rnorm(10,0,1)) 

## insert into mongo 
mongo$insert(df) 


## run the aggregation query 
## note I've swapped single quotes for doubles, and vice versa 
pipe = '[{"$group": {"_id": "TRANS_AMNT_AVG", "average": {"$avg":"$TRANS_AMOUNT"}}}]' 

mongo$aggregate(pipeline = pipe) 
# Imported 1 records. Simplifying into dataframe... 
#    _id average 
# 1 TRANS_AMNT_AVG -0.3645931 
を供給してきたものと非常に似ています
関連する問題