2013-01-13 34 views
5

Tôi có ma trận có tên là ngày tháng. Tôi muốn trích xuất các tên hàng này thành một biến, và sau đó sử dụng rownames() để áp dụng những ngày này cho một ma trận khác mà tôi có. Giả sử ma trận được gọi là 'data.matrix'.Làm cách nào để trích xuất tên gọi từ ma trận?

Bất cứ khi nào tôi chạy:

data.matrix[,0] 

tôi nhận được một bản in của tất cả các ngày. Vì vậy, tôi làm điều này:

v <- data.matrix[,0] 

Khi tôi quay lại v Tôi nhận được danh sách tốt đẹp của tất cả các ngày. Nhưng khi tôi sử dụng:

rownames(other.matrix) <- v 

Và sau đó tôi trở lại:

head(other.matrix) 

tôi không nhận được bất kỳ tên cột mới.

Ngoài ra, khi tôi cố gắng:

head(v) 

tôi nhận được NULL

Nhưng khi tôi làm:

v 

tôi nhận được một bản in tốt đẹp của tất cả các ngày của tôi.

Vì vậy, điều gì mang lại? Lúc đầu, tôi nghĩ rằng ma trận và ngày tháng không tương thích nhưng dường như là như vậy.

Ngay bây giờ tôi đang sử dụng merge() theo cách này để thêm ngày:

z <- merge(v, other.matrix) 

Nhưng nó cảm thấy như có một cách tốt hơn để làm điều này.

+2

thử: 'rownames (other.matrix) <- rownames (v)' –

Trả lời

4

Lệnh

data.matrix[,0] 

không trả về một đối tượng ma trận không có cột. Do đó, bạn chỉ thấy tên hàng của nó.

Để trích xuất các rownames từ một đối tượng, sử dụng các chức năng rownames:

v <- rownames(data.matrix) 
Các vấn đề liên quan