仅包含 2 个向量的部分分量的运算
Operations with only some of the components of 2 vectors
我想知道是否有人可以帮助我解决以下问题:
我有 2 个向量,比方说:
A<-c(10,20,-10,6,-15,5)
B<-1:length(A)
由于 A 可能有更多或更少的组件,我想做 A^B 但只有 A 的正值,所以我会这样:
C<-(10^1,20^2,6^4,5^6)=> (10,400,1296,15625)
我已经尝试使用“for”和变量“i”来处理向量的长度以及数据帧,但通常它会对所有组件进行操作,而不仅仅是对 psoitive一个或创建一个新向量并执行 D<-(10^1,20^2,6^3,5^4) 而这不是我需要的。
先做子集如何:
A[sign(A)==1]
#[1] 10 20 6 5
B[sign(A)==1]
#[1] 1 2 4 6
A[sign(A)==1]^B[sign(A)==1]
#[1] 10 400 1296 15625
你也可以在之后进行子集化:
(A^B)[sign(A)==1]
#[1] 10 400 1296 15625
尝试subset
> subset(A^B, A > 0)
[1] 10 400 1296 15625
我想知道是否有人可以帮助我解决以下问题: 我有 2 个向量,比方说:
A<-c(10,20,-10,6,-15,5)
B<-1:length(A)
由于 A 可能有更多或更少的组件,我想做 A^B 但只有 A 的正值,所以我会这样:
C<-(10^1,20^2,6^4,5^6)=> (10,400,1296,15625)
我已经尝试使用“for”和变量“i”来处理向量的长度以及数据帧,但通常它会对所有组件进行操作,而不仅仅是对 psoitive一个或创建一个新向量并执行 D<-(10^1,20^2,6^3,5^4) 而这不是我需要的。
先做子集如何:
A[sign(A)==1]
#[1] 10 20 6 5
B[sign(A)==1]
#[1] 1 2 4 6
A[sign(A)==1]^B[sign(A)==1]
#[1] 10 400 1296 15625
你也可以在之后进行子集化:
(A^B)[sign(A)==1]
#[1] 10 400 1296 15625
尝试subset
> subset(A^B, A > 0)
[1] 10 400 1296 15625