2015-03-19 16 views
7

Tôi muốn thêm một ký tự Unicode có hai chữ cái dưới dạng chữ số vào chú giải cốt truyện của tôi trong R. Ký tự là một chữ r với dấu nhấn (ř) và hai chữ cái là i và j.Ký tự Unicode với chỉ số

Tôi đã xem câu hỏi này: Unicode character with superscript và cố gắng điều chỉnh câu trả lời cho vấn đề của tôi.

Đây là những gì tôi đã cố gắng:

plot(1,pch=NA,ylab="",xlab="",axes=F) 
legend("top",legend=paste("1-","\u{0159}"),bty ="n",bg = "white",cex=2) 
legend("center",legend=paste("1-","\u{0159}","\u{0069}","\u{006A}"),bty="n",bg = "white",cex=2) 
legend("bottomleft",legend=expression("1-"*"\u0159"["\u0069"*"\u006A"]),bty="n",bg = "white",cex=2) 
legend("bottomright", legend = quote("1-" *"\u0159"["\u0069"*"\u006A"]),bty="n",bg = "white",cex=2) 

Cốt truyện kết quả có thể được tìm thấy dưới đây

enter image description here

Cả hai bức thư Unicode và chỉ số tốt công việc của mình nhưng không ở cùng nhau. dán() với bất kỳ kết hợp nào của [] không trả về lỗi, nhưng tôi nghĩ điều này được mong đợi vì dán không thể xử lý [] cho các bảng con.

Các câu hỏi thường gặp trang web trên CRAN có thể cung cấp một gợi ý như tôi đang sử dụng Windows, nhưng tôi không chắc chắn làm thế nào để thực hiện điều này:

3,6 Tôi không thấy các ký tự có dấu trọng âm tại R console, ví dụ trong văn bản.

Bạn cần chỉ định phông chữ trong Rconsole (xem Q5.2) hỗ trợ mã hóa đang sử dụng. Điều này từng là một vấn đề trong các phiên bản trước của Windows, nhưng bây giờ rất khó để tìm thấy một phông chữ mà không.

Hỗ trợ cho các ký tự này trong Rterm phụ thuộc vào môi trường (cửa sổ đầu cuối và vỏ, bao gồm cài đặt miền địa phương và mã) trong đó nó chạy cũng như phông chữ được sử dụng bởi cửa sổ đầu cuối. Chúng thường nằm trên các thiết lập DOS cũ và cần phải thay đổi.

+1

sử dụng câu trả lời bạn liên kết với, công trình này cho tôi 'plot.new() ; văn bản (0,5, 0,7, nhãn = quote ("1 -" * '\ u {0159}' [ij])) '. 3 và 4 trong ví dụ của bạn cũng làm việc cho tôi – rawr

+0

@rawr Thật không may, giải pháp của bạn đã không làm việc cho tôi. Tôi đang sử dụng RStudio vì vậy tôi cũng đã thử nó bằng cách sử dụng đồng bằng R, nhưng cũng không có phiên bản làm việc. –

+0

Nadja, bạn đang sử dụng hệ điều hành nào, như hai ví dụ cuối cùng của bạn và mã rawr, cả hai đều hiển thị như mong đợi trên ubuntu 14.04, Rv3.1.3 – user20650

Trả lời

3

Nó phải làm với ngôn ngữ hệ thống, như đã xem, ví dụ: nếu bạn cố gắng

# intToUtf8(345) 
# [1] "ř" 
# iconv(intToUtf8(345), "utf-8", localeToCharset()) 
# [1] "r" 

này nên sửa chữa nó (tôi đã sử dụng Czech nhưng miền địa phương khác có thể sẽ làm việc quá):

Sys.setlocale("LC_CTYPE", "czech") 
# [1] "Czech_Czech Republic.1250" 
text(..., labels = quote("\u{0159}"[ij])) 
+0

Công cụ tuyệt vời, cổ vũ. Tôi đã thử đặt ngôn ngữ sang tiếng Đức và tiếng Pháp không có niềm vui. ..czech là câu trả lời! – user20650

+0

@ user20650 Lol có đó là ngôn ngữ đầu tiên mà tôi nghĩ rằng có tính cách này, mặc dù tôi chắc chắn sẽ có rất nhiều. Bạn có bất kỳ ý tưởng mặc dù tại sao nó hoạt động mà không thay đổi miền địa phương khi không có subscript tham gia, ví dụ như trong 'quote (" \ u {0159} ")'? – konvas

+0

Không phải là một đầu mối, tôi cũng thấy điều đó lạ.Vì vậy, có lẽ câu trả lời thực sự là * không sử dụng Windows * – user20650