Thông thường khi bạn nhận được một cột, đó là một vectơ. Làm thế nào tôi có thể giữ nó như data.frame với cùng tên hàng và tên cột tương ứng?cách lấy mỗi cột dưới dạng data.frame (thay vì vectơ) từ một data.frame?
Trả lời
Thay vì gọi cột mong muốn bằng dấu phẩy, ví dụ: data.frame [, i] sử dụng data.frame [i] để giữ lớp đó dưới dạng data.frame và cũng giữ lại tên hàng.
data.frame[,i] #As a vector
data.frame[i] #As a data.frame
Tốt, tôi không biết bạn có thể làm điều đó +1 –
Tôi đoán rằng thêm một số giá trị vào bài đăng câu hỏi của tôi và xứng đáng không được đóng :) – RNA
sử dụng thả luận = FALSE như trong:
mtcars[, 1, drop = FALSE]
Nếu bạn chỉ định một số duy nhất khi Subsetting một data.frame, bạn sẽ có được một cột data.frame. Điều này khác với việc đặt ma trận, yêu cầu đối số "thiếu" i
để trả về toàn bộ cột (sau đó nó chuyển thành một vectơ).
# mtcars is a data.frame
mtcars[1] # first column
str(mtcars[1]) # is still a data.frame
# 'data.frame': 32 obs. of 1 variable:
# $ mpg: num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
# MTCARS is a matrix
MTCARS <- as.matrix(mtcars)
as.matrix(MTCARS)[1] # only the first element
# [1] 21
str(as.matrix(MTCARS)[,1]) # the first column, as a vector
Named num [1:32] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
- attr(*, "names")= chr [1:32] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710" ...
- 1. Trích xuất cột từ data.frame dưới dạng Vector
- 2. Tạo danh sách kề từ một data.frame
- 3. R - trật tự một data.frame theo tên cột AS CHARACTER
- 4. Named Danh sách Để/Từ Data.Frame
- 5. data.frame mà không làm hỏng tên cột
- 6. Vẽ điểm từ một data.frame bằng cách sử dụng OpenStreetMap
- 7. thay đổi data.frame cột thành hàng trong R
- 8. áp dụng strsplit vào cột cụ thể trong một data.frame
- 9. Tạo một data.frame nơi một cột là một danh sách
- 10. Làm thế nào để lấy tên của một data.frame trong một danh sách?
- 11. chuyển đổi định dạng cột data.frame từ ký tự thành thừa số
- 12. Tại sao thay đổi tên cột mất một thời gian rất dài với một data.frame lớn?
- 13. Chỉ định tên cột trong một data.frame thay đổi dấu cách thành "."
- 14. Hiển thị các cột có NA trong một data.frame
- 15. Sum tất cả các giá trị trong mỗi cột của một data.frame trong R
- 16. Lặp lại các hàng của một data.frame
- 17. R: Làm thế nào để thay thế các phần tử của một data.frame?
- 18. Trồng một data.frame theo cách hiệu quả bộ nhớ
- 19. Thay thế giá trị có điều kiện trong một data.frame
- 20. trả về nhiều cột dưới dạng một cột thay vì nhiều cột
- 21. Tạo một data.frame trong R với các tên cột được gán động
- 22. res.hình ảnh data.frame đơn giản
- 23. chuyển đổi cột data.frame thành data.table bị thiếu
- 24. Xác định vị trí một cách hiệu quả các cột cố định nhóm trong một data.frame
- 25. xếp chồng các cột trong data.frame vào một cột trong R
- 26. tự động phát hiện các cột ngày khi đọc một tệp vào một data.frame
- 27. Làm thế nào để lấy một data.frame vào một mảng đa chiều trong R?
- 28. Phép chiếu lại dữ liệu trên data.frame
- 29. Chuyển đổi một danh sách để một hàng data.frame
- 30. Làm cách nào để thay đổi một giá trị trong một data.frame?
có thể trùng lặp [Ma trận 1 chiều được thay đổi thành vectơ trong R] (http://stackoverflow.com/questions/9949202/1-dimensional-matrix-is-changed-to-a-vector -in-r) – joran
@joran Rất tiếc, không thấy có thể trùng lặp. Tôi sẽ để lại câu trả lời của tôi và nếu câu hỏi này bị đóng, thì câu trả lời của tôi là một điểm tranh luận. –
@TylerRinker Đừng lo lắng về điều đó. Đây chỉ là một câu hỏi thực sự phổ biến, đó là tất cả. – joran