如何在Rpy2中提取因子向量中的指标

2024-09-30 06:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个因子向量sv='abbbc'和一个整数向量fv=[1,1,1,1,1]。fv对应sv。在

import rpy2.robjects as robjects
sv=robjects.StrVector('ababbc')
fac=robjects.FactorVector(sv)
fv=robjects.r['rep'](1,6)

fv I对应于一个字母fv I的值。 使fv=[2,1,2,1,1,1]

怎么做?非常感谢。在


Tags: importas整数向量因子svrpy2fac
1条回答
网友
1楼 · 发布于 2024-09-30 06:20:59

为真时获取索引:

In [54]:
import numpy as np
np.argwhere(np.array(sv) == 'a')
Out[54]:
array([[0],
       [2]])

第1和第3个位置有字母“a”。在

你不能用fac来做这个,因为它已经被分解了,只包含了1,2,3…,而不是原来的'a'、'b'、'c'。。。不再。在

^{pr2}$

也可以在R侧完成:

In [51]:

robjects.reval('result1 <- which(sv %in% c("a"))')
print robjects.r.result1
[1] 1 3

为了系统地为级别分配给定值,我建议您使用R中的^{}函数:

In [53]:
robjects.r.assign('sv',  sv)
robjects.reval('result3 <- factor(sv, levels=c("a","b","c"), labels=c(10,2,3))')
print robjects.r.result3
[1] 10 2  10 2  2  3 
Levels: 10 2 3

所以a得到10b得到{},c得到{},依此类推。在

相关问题 更多 >

    热门问题