python - rpy2 - sqrt(e.pow)中的错误:数学函数的非数字参数
问题描述
我在 rpy2 中使用来自 Rand Wilcox 的强大统计包,并且在运行用于比较 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")
知道这里发生了什么吗?
解决方案
推荐阅读
- file - github.com 存储库 url 是指向文件夹还是文件?
- service - Xinetd 错误服务/协议组合不在 /etc/services
- ios - 调用 UIApplication 子类方法启动 scheduleTimer
- google-apps-script - 如果 startColumn 是整数,则 copyValuesToRange 不返回任何内容
- jquery - 如何使用 Jquery 在单击时交替更改图像 url
- python - 流:验证失败,出现“调用者没有权限”错误
- python - 如何在 Python 中将 Amazon Ions 格式化为有效的 JSON?
- django - 如何在 for 循环中更新 Django 查询对象
- sql - SQL:选择包含单词的行
- html - 从 Chrome 迁移到 IE11 的主要样式问题