通过rpy2使用一个名为“eegAnalysis”的相对较新的R包,并获取FeatureEEG函数所需的时间序列对象的错误 .
table_query = R_DBI.dbGetQuery(DBI_Connection, "SELECT * FROM {0}".format(a_table))
从PostgreSQL数据库返回table_query,其中一小部分数据看起来像
'data.frame':52000 obs . 68个变量:
lfg1:num 205 200 185 183 175 ...
lfg10:num -135.1 -124.1 -127.1 -116.1 -80.1 ...
lfg11:num -132 -109 -101 -103 -116 ......
lfg12:num -259 -246 -232 -196 -203 ...
很快就会在使用上面的table_query创建一个时间序列对象之后
ts = R_ts.timeSeries(table_query, start = 1, end = table_query.nrow, frequency = 1)
以下几行用于重要的线路,甚至在下面
n_columns = ts.ncol
col_middle = n_columns / 2
if round(col_middle) != col_middle:
col_middle = col_middle + 0.5
group_1 = int(col_middle)
group_2 = int(n_columns - group_1)
classification = R_base.c(R_base.rep(1, group_1), R_base.rep(2, group_2))
重要的是这里
featureEEG = R_EEGA.FeatureEEG(ts, rec_Id = ts.nrow, classes_Id = classification)
FeatureEEG是R eegAnalysis包中的一个功能 . 处理片刻后,将返回以下错误
回溯(最近一次调用最后一次):文件“D:\ Projects \ Kaggle \ UPenn_and_Mayo_Clinic_Seizure_Detection \ Scripts \ py_test01.py”,第135行,在featureEEG = R_EEGA.FeatureEEG(ts,rec_Id = ts.nrow,classes_Id = classification)文件“C:\ Python33 \ lib \ site-packages \ rpy2-2.3.8-py3.3-win32.egg \ rpy2 \ robjects \ functions.py”,第86行,在调用return super(SignatureTranslatedFunction,self).call( * args,** kwargs)文件“C:\ Python33 \ lib \ site-packages \ rpy2-2.3.8-py3.3-win32.egg \ rpy2 \ robjects \ functions.py”,第35行,在调用res = super(函数,self).call(* new_args,** new_kwargs)rpy2.rinterface.RRuntimeError:UseMethod(“months”)中的错误:没有适用于'c'类对象的'月'的方法''('整数' ,'数字')“*
据我所知,处理创建featureEEG的行,它正处于发生错误的处理中 . 除了从RRuntimeError开始的部分之外,大部分消息都是可以理解的 . 有人可以解释它的含义吗?或者我在哪里可以找到?
谢谢 .
1 回答
RRuntimeError
报告由R生成的错误消息 .在这里似乎尝试调用泛型
months()
. 我怀疑你的代码中的ts
不是正确的类型 .eegAnalysis
的作者可能会提供帮助 .