Đăng ký trong các ô trong R


95

Tôi không thể tìm thấy cách viết subcripts trong tiêu đề hoặc phụ đề bằng R. Làm cách nào để viết câu 1,2 với 1,2 dưới dạng subscript?

Cảm ơn bạn đã giúp đỡ!

Câu trả lời:


138

expression là bạn của bạn:

plot(1,1, main=expression('title'^2))  #superscript
plot(1,1, main=expression('title'[2])) #subscript

3
Làm thế nào để tải "2" từ biến? Tôi có một vòng lặp và cần phải âm mưu X_ [1] X_ [2] X_ [3] ...
0x2207

6
Bạn có thể sử dụng bquotekhi làm việc với các biến được chỉ định. Giả sử, nIter <- 2sau đó plot(1, 1, main = bquote(title[.(nIter)]))chính xác là những gì bạn cần (lấy từ danh sách gửi thư trợ giúp R ).
fdetsch

119

Nếu bạn đang muốn có nhiều subcript trong một văn bản thì hãy sử dụng dấu sao (*) để tách các phần:

plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))

6
Chà, câu trả lời mới hai ngày tuổi cho một câu hỏi hai tuổi, hóa ra lại là thứ tôi cần. Cảm ơn!
Michael

2
Và nếu bạn muốn subscript là một chuỗi, chỉ cần đặt nó trong dấu ngoặc kép:plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there'))
Stewart Macdonald

1
Đó là một mẹo tốt như bạn có thể đặt [digits]hoặc [characters]hoặc thậm chí [a5]trong chỉ số dưới nhưng không [5a]hay [a a]. Gần đây tôi đã phát hiện ra điều này cho:expression('x'['10sdt'])
Cyrille

28

Xem? Biểu thức

plot(1:10,main=expression("This is a subscript "[2]))

nhập mô tả hình ảnh ở đây


10

Một chỉ số con và tham chiếu đến một giá trị được lưu trữ ...

a <- 10
plot(c(0,1), c(0,1), type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
text(0.2, 0.6, cex = 1.5, bquote(paste('S'['f']*' = ', .(a))))

nhập mô tả hình ảnh ở đây


5

Một ví dụ khác, biểu thức hoạt động cho các ký tự trên phủ định mà không cần dấu ngoặc kép xung quanh số âm:

title(xlab=expression("Nitrate Loading in kg ha"^-1*"yr"^-1))

và bạn chỉ cần dấu * để tách các phần như đã đề cập ở trên (khi bạn viết chỉ số trên hoặc chỉ số dưới và cần thêm nhiều văn bản vào biểu thức sau).


1
Cảm ơn bạn đã giải thích rõ ràng những gì * làm!
Lalochezia

4

Như những người dùng khác đã chỉ ra, chúng tôi sử dụng expression(). Tôi muốn trả lời câu hỏi ban đầu liên quan đến dấu phẩy trong chỉ số phụ:

Làm thế nào tôi có thể viết v 1,2 với 1,2 dưới dạng subcript?

plot(1:10, 11:20 , main=expression(v["1,2"]))

Ngoài ra, tôi muốn thêm tài liệu tham khảo cho những người đang tìm kiếm expressioncú pháp đầy đủ trong việc Rvẽ biểu đồ: Để biết thêm thông tin, hãy xem ?plotmathtrang trợ giúp. Chạy demo(plotmath)sẽ hiển thị nhiều biểu thức và cú pháp có liên quan.

Hãy nhớ sử dụng *để nối các loại văn bản khác nhau trong một biểu thức.

Dưới đây là một số kết quả mẫu từ demo(plotmath):

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.