日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【已解决】R语言添加行、列,转置操作

發布時間:2025/1/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【已解决】R语言添加行、列,转置操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

嚴格來說,矩陣的長度和維度是固定的,因此不能增加或刪除行或列。但是可以給矩陣重新賦值,這樣可以得到和增加或刪除一樣的效果。

?

????函數rbind()(代表row?bind,按行組合)和函數cbind()(代表column?bind,按列組合)可以給矩陣增加行或列。

>?one?<-?c(?1,?1,?1,?1?)

>?z?<-?matrix(?c(?1,?2,?3,?4,?1,?1,?0,?0,?1,?0,?1,?0?),nrow=4?)

>?cbind(?one,?z?)

?????one??????

[1,]???1?1?1?1

[2,]???1?2?1?0

[3,]???1?3?0?1

[4,]???1?4?0?0

?

>?cbind(?2,?z?)

?????[,1]?[,2]?[,3]?[,4]

[1,]????2????1????1????1

[2,]????2????2????1????0

[3,]????2????3????0????1

[4,]????2????4????0????0

注:這里用到了循環補齊(recycling)。

????這里,cbind()把一列由1組成的向量和z組合在一起,創建了一個新矩陣。

?

????不過,請謹慎使用cbind()!和創建向量一樣,創建一個新的矩陣是很耗時間的(畢竟矩陣也屬于向量)。創建新矩陣會減低程序速度,如果在循環中重復創建矩陣,將浪費大量的時間。因此在循環中每次往矩陣中添加一行(列),最后矩陣會變成一個大矩陣,這種做法是不可取的,最好一開始就定義好一個大矩陣。這個事先定義的矩陣是空的,但是在循環過程中逐行或列進行賦值,這種做法避免了循環過程中每次進行耗時的矩陣內存分配。


處理矩陣轉置問題:

> tx<- read.table("x.txt", header=FALSE)

> ty<- t(tx)

> write.table(ty, file="D:/ty.txt", quote-F, col.name=F, row.names=F)


參考文章:

http://blog.csdn.net/thoixy/article/details/40502829

總結

以上是生活随笔為你收集整理的【已解决】R语言添加行、列,转置操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。