1 利用as.data.frame函數將矩陣轉化爲dataframe
2 dataframe的列進行遍歷
3all()函數來判斷兩個列比較的邏輯值否相等
4 若是相同,則刪除,當前的下標不變
5若是不同。則j <- j+1
#刪除數據框的命令用A[,j] <- NULL
附註R語言代碼
f <- function(A)
{
B <- as.data.frame(A)
t <- ncol(B)
i <- 1
while(i<ncol(B))#B的列數是變h化的
{
j <- i+1
while(j<=ncol(B))
{
if(all(B[,i]== B[,j]))
{
B[,j] <- NULL#刪除之後,待比較的元素下標值不變
}
else
{
j <- j + 1
}
}
i <- i + 1
}
return(B)
}
A <- cbind(eye(3,4),eye(3,4))
f(A)