我试图在矩阵中添加所有元素.这是我的矩阵的一个例子(实际矩阵更大):
m = matrix(c(528,479,538,603),nrow=2,ncol=2)
m
A B
male 528 538
female 479 603
Run Code Online (Sandbox Code Playgroud)
我想做:
sum.elements = colSums(colSums(m))
Run Code Online (Sandbox Code Playgroud)
但它给出以下错误:
colSums中的错误(colSums(m)):'x'必须是至少包含两个维度的数组
我试过做:
x = colSums(m)
sum.elements = x[1] + x[2]
Run Code Online (Sandbox Code Playgroud)
但是当你有一个100列矩阵时,这将是非常长的...
任何帮助将不胜感激!
你可以做到sum.它还可以选择na.rm删除NA值.
sum(m)
#[1] 2148
Run Code Online (Sandbox Code Playgroud)
在一般情况下,sum工程vector,matrix和data.frame
set.seed(24)
m1 <- matrix(sample(0:20, 5000*5000, replace=TRUE), ncol=5000)
system.time(sum(m1))
# user system elapsed
# 0.027 0.000 0.026
system.time(sum(colSums(m1)))
# user system elapsed
# 0.027 0.000 0.027
system.time(Reduce('+', m1))
# user system elapsed
#25.977 0.644 26.673
Run Code Online (Sandbox Code Playgroud)