簡単な質問だと思いますが、答えが見つかりません。データ フレームの「AsIs」クラス属性を取り除く方法。write.dbf
パッケージからのforeign
dbf への変換を妨げています。私はrpy2から作業していますが、「AsIs」のないRデータフレームで動作します。エラーメッセージの下に完全なコードを配置しました。dbfs = write_dbf(r_dataframe)
Error in function (dataframe, file, factor2char = TRUE, max_nchar = 254) :
data frame contains columns of unsupported class(es) AsIs
---------------------------------------------------------------------------
RRuntimeError Traceback (most recent call last)
<ipython-input-26-9072df63231a> in <module>()
----> 1 dbfs = write_dbf(r_dataframe)
/home/matthew/.virtualenvs/mypython/lib/python3.2/site-packages/rpy2-2.2.6dev_20120814-py3.2-linux-i686.egg/rpy2/robjects/functions.py in __call__(self, *args, **kwargs)
80 v = kwargs.pop(k)
81 kwargs[r_k] = v
---> 82 return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
/home/matthew/.virtualenvs/mypython/lib/python3.2/site-packages/rpy2-2.2.6dev_20120814-py3.2-linux-i686.egg/rpy2/robjects/functions.py in __call__(self, *args, **kwargs)
32 for k, v in kwargs.items():
33 new_kwargs[k] = conversion.py2ri(v)
---> 34 res = super(Function, self).__call__(*new_args, **new_kwargs)
35 res = conversion.ri2py(res)
36 return res
RRuntimeError: Error in function (dataframe, file, factor2char = TRUE, max_nchar = 254) :
data frame contains columns of unsupported class(es) AsIs
私はRと話すためにpython rpy2を使用しています。それは問題がある場所ではありませんが、ここに私のコードがあります。「write.dbf
AsIs」のないRのデータフレームを使用すると、Rpy2から機能します。
(パイソン)
df = DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C':[7,8,9]},index=["one", "two", "three"]) I am going from python pandas dataframe to and R datafram using
fore = importr("foreign")
In [19]:
r_dataframe = com.convert_to_r_dataframe(df)
In [20]:
print(type(r_dataframe))
<class 'rpy2.robjects.vectors.DataFrame'>
In [32]:
r_dataframe
Out[32]:
<DataFrame - Python:0xb3db8ac / R:0xc23ac50>
[IntVector, IntVector, IntVector]
A: <class 'rpy2.robjects.vectors.IntVector'>
<IntVector - Python:0xc1fb1ec / R:0xc23ac28>
[ 1, 2, 3]
B: <class 'rpy2.robjects.vectors.IntVector'>
<IntVector - Python:0xc1fb36c / R:0xc23ac00>
[ 4, 5, 6]
C: <class 'rpy2.robjects.vectors.IntVector'>
<IntVector - Python:0xc1fb4ec / R:0xc23abd8>
[ 7, 8, 9]
print(r_dataframe)
A B C
one 1 4 7
two 2 5 8
three 3 6 9
In [25]:
write_dbf =robjects.r("write.dbf")
read_dbf = robjects.r("read.dbf")
In [26]:
dbfs = write_dbf(r_dataframe)
Error in function (dataframe, file, factor2char = TRUE, max_nchar = 254) :
data frame contains columns of unsupported class(es) AsI
dbfs = write_dbf(r_dataframe)