[英]modifying r code based on values of python in rpy2?
我試圖根據在python中存儲和計算的值修改R中的一行。 這是我使用的代碼:
def create_new_row_r(json_dict):
newdata = robjects.r('''
createdata = function(row){
dummydata <- row
dummydata["field1"] <- %s
dummydata["field2"] <- %s
dummydata["field3"] <- %i
dummydata["field4"] <- %s
dummydata["field5"] <- %i
dummydata["field6"] <- %s
dummydata["field7"] <- %i
dummydata["field8"] <- %i
dummydata["field8"] <- %i
dummydata["field9"] <- %i
dummydata["field10"] <- %i
dummydata["field11"] <- %i
return(dummydata)
}
createdata(datz1[1,])
'''
%(json_dict["field1"], json_dict["field2"], json_dict["field3"],
json_dict["field4"], json_dict["field5"],
json_dict["field6"], json_dict["field7"], json_dict["field8"],
json_dict["field9"], json_dict["field10"],
json_dict["field11"], json_dict["field12"]))
print "new row assembled"
return newdata
然后,我調用此函數並傳入包含這些值和數據類型的json_dict。 我期望這將返回robject“ dummydata”,如rpy2“運行r代碼”文檔中所述:
http://rpy.sourceforge.net/rpy2/doc-dev/html/introduction.html
但是此代碼無法正常工作或引發任何錯誤(除了使我正在運行的API在被調用時崩潰)
是否有可能做到這一點? 我把代碼弄亂了嗎? 有沒有更好的方法可以做到這一點?
謝謝,會投票
對於字符串字段,您需要使用%r
因為%s
不會為字符串添加引號。
您也可以使用json.dumps()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.