2024-09-30 06:20:59 发布
网友
我有一个因子向量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]
怎么做?非常感谢。在
为真时获取索引:
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'。。。不再。在
fac
也可以在R侧完成:
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得到10,b得到{},c得到{},依此类推。在
a
10
b
c
为真时获取索引:
第1和第3个位置有字母“a”。在
你不能用
^{pr2}$fac
来做这个,因为它已经被分解了,只包含了1,2,3…,而不是原来的'a'、'b'、'c'。。。不再。在也可以在
R
侧完成:为了系统地为级别分配给定值,我建议您使用} 函数:
R
中的^{所以},},依此类推。在
a
得到10
,b
得到{c
得到{相关问题 更多 >
编程相关推荐