2016-12-03 6 views
1

Dieser Code zeigt, wie ich es in Pymongo mache, aber was ist, wenn ich das in RMongo machen wollte?Wie berechnet man den Durchschnitt der pertikulären Säule mit RMongo?

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() 

Mein Datensatz wird transactions genannt und die Säule wird TRANS_AMOUNT genannt. Ich möchte den Durchschnitt berechnen TRANS_AMOUNT.

Antwort

0

Ich ziehe mongolite verwenden für R Arbeit MongoDB, und in der Tat ist der Code sehr ähnlich zu dem, was Sie

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 
geliefert haben
Verwandte Themen