誰能告訴我如何反之亦然,以取代0與1的和爲R.取代0與1的和R中
對角矩陣 反之亦然
4
對角矩陣
A
回答
14
0
我不知道關於R什麼但似乎可以解決這樣一個矩陣:
http://cran.r-project.org/doc/manuals/R-intro.html#Array-indexing
我會懷疑你能解決使用for循環您的問題:
http://cran.r-project.org/doc/manuals/R-intro.html#Repetitive-execution
0
由於矩陣被存儲在數字,類型整數/雙,和存儲模式的整數的模式/雙(假設矩陣保持數值)可以使用簡單的方括號索引來解決它們中的特定值,例如現在
# create dummy data
> m <- matrix(rnorm(25), 5)
> mode(m) # check mode
[1] "numeric"
> typeof(m) # check type
[1] "double"
> storage.mode(m)
[1] "double"
,以創建對角矩陣,則可以分別使用lower.tri
和upper.tri
功能,這爲矩陣元素返回下面和上面的主對角線邏輯值。
可以使用lower.tri
和upper.tri
功能非對角線元素設置爲0。
> m[lower.tri(m)] <- 0
> m[upper.tri(m)] <- 0
> m
[,1] [,2] [,3] [,4] [,5]
[1,] 0.3356640 0.0000000 0.0000000 0.000000 0.0000000
[2,] 0.0000000 -0.2940369 0.0000000 0.000000 0.0000000
[3,] 0.0000000 0.0000000 -0.4490546 0.000000 0.0000000
[4,] 0.0000000 0.0000000 0.0000000 -1.093924 0.0000000
[5,] 0.0000000 0.0000000 0.0000000 0.000000 0.3199157
可以,當然,設置的任何常數以降低/上對角元素,無論是數字的,字符,邏輯,NA等...
將零設置爲非對角元素後,可以簡單地使用方括號索引。小轉向:裸記住,數學,向量矩陣(和反之亦然)的特殊情況,但同樣並不代表[R:
> is.vector(m)
[1] FALSE
> is.matrix(1:10)
[1] FALSE
但是,最後,你可以做:
> m[m == 0] <- 1
這將插入1矩陣,無論哪裏出現零。您可以使用diag
功能訪問/修改對角線元素,例如:
> m[m == 1] <- 0
> diag(m) <- rep(pi, 5)
將你的對角矩陣,切換到標之一。
我這個無聊的文章後,讓我們大家都希望它能幫助別人,莫名其妙......
乾杯!
相關問題
- 1. R:迭代0的兩列和1,使0的一列和1的
- 2. [R重塑dcast 0和1
- 3. 繪製R中的顏色點代表0和1的點
- 4. R中的揹包0-1
- 5. 八度矩陣:1的替換0和更換1與0的
- 6. Haskell中[1 .. 0]與[1 .. -1]的區別和原因?
- 7. R代碼分類變量爲1和0
- 8. 爲什麼n中1:0在R中迭代2次?
- 9. Is!0和!1比1和0好嗎?
- 10. 強制R將0/0打印爲1
- 11. 更換NA與取決於位置在第1行或0中的R
- 12. 中的R 0-1總和之間的值的1的所有組合
- 13. EF代碼與各種父母的第一個關係0/1到0/1
- 14. 如何將R中的矩陣元素從0 | 1轉換爲1 | 0?
- 15. 0-9-1在AMQP 0-9-1協議中代表什麼
- 16. 100張圖中的R 1 1多頁pdf 0
- 17. R 3與0前
- 18. 關於UML中的0到1和1到0關聯
- 19. 提取矩陣中行r和列n-1處的值R
- 20. 壓縮包含與0相同數目1的1和0的字符串
- 21. 如何在Java中輸出序列'1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ...'?
- 22. 與0 R格式數字和連
- 23. 如何平衡1:R中與SMOTE 1
- 24. EF代碼第一個0..1到0..1的關係
- 25. RAID 1與奇數硬盤和Raid 0的好奇心(或RAID 1 + 0)
- 26. R,生成數矢量只包含0和1,與一定的長度
- 27. 在C++中用'1'取代整數'0'的最佳方法
- 28. 與doctrine和symfony2嵌入形式的1到1..0關係
- 29. 隨機插入一個0和1與1的特定數
- 30. 在Octave/Matlab中,如何將[1,2,4,8]變成[1 1 0 1 0 0 0 1]?
我想你使用的是R編程語言? http://en.wikipedia.org/wiki/R_(programming_language) – shookster 2010-07-16 02:24:53
@shookster是的,我使用R編程 – Shruti 2010-07-16 03:19:39