2010-08-06 38 views
16

Có lý do gì khiến R không cho phép tôi có số làm tên cột của khung dữ liệu của tôi không?Số R làm tên cột của Khung dữ liệu

cũng nhận thấy rằng nếu tôi làm data.frame(XX), hãy thêm X vào tất cả các tiêu đề cột có số ở phía trước.

Trả lời

17

Có, vì R sẽ không cho phép tên đối tượng bắt đầu bằng số. Nếu bạn đã gọi attach() với data.frame, điều này sẽ gây ra một số vấn đề.

Bạn sẽ nhận thấy (ví dụ) trong hàm read.table, tham số check.names sử dụng hàm make.names() để làm những gì bạn mô tả.

+0

Yup, tôi đã giải thích càng nhiều ngày hôm qua trong mối quan hệ với khung dữ liệu đặt tên. –

+0

Có lý do nào cho việc này không? hay nó chỉ là thứ mà không ai thực sự quan tâm? Nó không phải là * một thỏa thuận lớn để đặt X trước bất kỳ số nào tôi muốn là tiêu đề, nhưng tôi đã tự hỏi tại sao R sẽ không cho phép tôi. –

+2

Bạn * vẫn * không hiểu. Đọc lại câu trả lời của Shane, suy nghĩ về 'attach()' và nhận ra tại sao chúng lại có tên biến. Như Marek cho thấy, bạn * có thể * làm điều đó nhưng điều đó không có nghĩa là bạn * nên *. –

23

trình cho tôi

data.frame(`1`=rnorm(3), `2`=head(letters,3), check.names=FALSE) 
#  1 2 
# 1 0.5019 a 
# 2 1.1148 b 
# 3 0.4787 c 
+0

cảm ơn. Tôi hiểu về các con số, nhưng có vẻ như một số văn bản unicode không được phép. Khi tôi đang sử dụng một khung chỉ để định dạng, đề xuất của bạn có ích. –

Các vấn đề liên quan