내 행렬의 대각선에 -5를 넣으려고합니다. if 문을 사용하고 있습니다. 하지만 내 if 문장이 잘못되었습니다. 아무도 나에게 도움을 줄 수 있습니까?행렬의 문장 - 대각선 경우
X= rbind(c(1.2,3.4,10.3),c(2,8,78),c(45,-36,8))
array(X,dim=c(3,3))
if (X != (1.2,8.0)){
cat(X)
} else {
cat(-5)
}
내 행렬의 대각선에 -5를 넣으려고합니다. if 문을 사용하고 있습니다. 하지만 내 if 문장이 잘못되었습니다. 아무도 나에게 도움을 줄 수 있습니까?행렬의 문장 - 대각선 경우
X= rbind(c(1.2,3.4,10.3),c(2,8,78),c(45,-36,8))
array(X,dim=c(3,3))
if (X != (1.2,8.0)){
cat(X)
} else {
cat(-5)
}
X <- rbind(c(1.2, 3.4, 10.3), c(2, 8, 78), c(45, -36, 8))
diag(X) <- -5
여호수아는 말처럼 바보가 되려고 노력하지 않은 - 당신이 쓴 것을 많이 그냥 작동하지 않기 때문에 당신이 연구를 처음 사용하는 것을 매우 분명하다.
if 문 내부의 조건은 길이가 1이어야하며 전체 행렬을 피드하고자하는 것처럼 보입니다. if와 it의 벡터화 된 버전이 ifelse
이지만 매트릭스 용으로 원하는대로 작동하지 않습니다.
cat
은 콘솔에 인쇄되지만 매트릭스의 요소는 사용자를 대신하지 않습니다. 실제로이를 성취하기 위해서는 일종의 대체 작업이 필요합니다.
교체를 수행하기 위해 어떤 요소가 대각선 고유인지 수동으로 확인하는 것은 좋지 않습니다. 더 좋은 방법이 있습니다. 조슈아가 연루된 소개 매뉴얼에서 그 중 일부는 발견됩니다. 행운을 빕니다.
[입문 매뉴얼] (http://cran.r-project.org/doc/manuals/R-intro.html)을 정말로 읽어야합니다. 나는 진지해. 얼간이가 되려고하지 마라. 정말. 약속 할께. 이것은 당신이 삭제 한 질문과 매우 흡사합니다 ... 그리고 [당신의 이전 질문] (http://stackoverflow.com/q/12946070/271616)과 같은 '오히려'의 오해를 보여줍니다. –