我在rpy2中使用Rand-Wilcox提供的健壮的stats包,在运行一个比较n组的健壮测试时遇到了一个障碍。你知道吗
下面的函数采用一个DataFrame,据我从文档中所知,整数表示因变量的列和组赋值:
wilcox.btrim(df,g=2,dp=1)
当我从rpy2运行它时,我得到一个错误:
Error in sqrt(e.pow) : non-numeric argument to mathematical function
如果作为第一个也是唯一的输入,我传递一个列表列表或df,其中每列都包含组值,则会发生相同的错误。这两种方法也是调用函数的合适方法。你知道吗
这是我的数据帧:
x = [1, 2, 3]
x = random.choices(x, k=150)
y = np.random.normal(0, 1, 150)
df = pd.DataFrame({
'dependent_variable': y,
'group_labels': x
})
df.head(10)
dependent_variable group_labels
-1.258020 1
0.357578 3
0.809774 1
0.330426 3
-0.210970 2
这是如何获取包以便能够再现错误:
import pandas as pd
import rpy2.robjects as robjects
import random
import numpy as np
from rpy2.robjects import pandas2ri
from urllib.request import urlopen
from rpy2.robjects.packages import SignatureTranslatedAnonymousPackage
pandas2ri.activate()
url = urlopen('https://dornsife.usc.edu/assets/sites/239/docs/Rallfun-v35.txt')
string = b''.join(url.readlines()).decode()
wilcox = SignatureTranslatedAnonymousPackage(string, "wilcox")
你知道这是怎么回事吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐