我可以很容易地比较R中的2个向量,看看有多少元素是相同的.说
a<- c(1,2,3,4)
b<- c(1,2,3,5)
sum(a==b) would give me what I want
Run Code Online (Sandbox Code Playgroud)
但是我如何比较3个向量?或同时超过3个向量?
a<- c(1,2,3,4)
b<- c(1,2,3,5)
c<- c(2,3,4,5)
sum(a==b & b==c) # does not seem to be correct
Run Code Online (Sandbox Code Playgroud)
我在寻找相同位置的元素是否相同.在相同的情况下,它会给我零,因为a,b,c在同一位置不是全部相同.
count = 0
for(i in 1:length(a)){
if((a[i]==b[i]) & (a[i]==c[i]))
count=count+1
} # this will give me that I want, but the efficiency seems very low
Run Code Online (Sandbox Code Playgroud) 正常矩阵将是二维矩阵.但是,我可以初步说明:
a<-array(0,dim=c(2,3,4,5))
Run Code Online (Sandbox Code Playgroud)
这是一个2*4*5*3矩阵或阵列.
命令
apply(a,c(2,3),sum)
Run Code Online (Sandbox Code Playgroud)
将给出一个4*5数组,包含第1和第4维中元素的总和.
为什么呢?据我所知,在apply函数中,1表示行,2表示列,但3是什么意思?
我们需要一些抽象.