我有一个自然语言处理课程的数据矩阵,我需要对矩阵进行欧几里得规范化,我很陌生,R
所以我无法弄清楚我的代码做错了什么,代码如下:
A=matrix(
c(1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1,0,0,1,2,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,1),
nrow=11,
ncol=10)
norm_vec <- function(x) sqrt(sum(x^2))
B=matrix(
nrow=11,
ncol=10)
for(n in 1:10)
length <- norm_vec(A[,n])
for(j in 1:11)
B[j,n]<- A[j,n]/length
为此,我得到的输出只有最后一列是正确的,而其他列是正确的NA
,我不明白为什么会这样。我究竟做错了什么?