Tôi cố gắng để loại bỏ một ngoặc đơn từ một chuỗi trong R và chạy vào các lỗi sau:remove ngoặc từ chuỗi
string <- "log(M)"
gsub("log", "", string) # Works just fine
gsub("log(", "", string) #breaks
# Error in gsub("log(", "", test) :
# invalid regular expression 'log(', reason 'Missing ')''
nên là 'fixed =" TRUE "' hoặc 'fixed = TRUE' ??? –
@BenBolker - Rất tiếc. Nó phải là 'fixed = TRUE', nhưng' fixed = "TRUE" ',' fixed = "true" ', và' fixed = "True" 'đều hoạt động. Các combo khác như 'fixed =" TRue "' hoặc 'fixed =" TruE "' không. Liên quan (?) Gần đây tôi nhận ra rằng 'rnorm (" 9 ")' (ví dụ) hoạt động, khi tôi nói nó không nên. (FWIW, 'rnorm (" 9 "," 1 ")' * không * làm việc.) Tôi tự hỏi liệu những trường hợp này có liên quan gì đến cách mã C bên dưới xử lý các đối số được truyền vào nó hay không. Bạn nghĩ sao? –
Thú vị. Câu trả lời nằm trong '? As.logical':' ‘as.logical 'cố gắng ép buộc đối số của nó là hợp lý theo loại . Đối với ‘yếu tố’, điều này sử dụng ‘mức’ (nhãn). Giống như ‘as.vector’, nó chặn các thuộc tính bao gồm cả tên. Ký tựchuỗi 'c ("T", "TRUE", "True", "true")' được coi là true, 'c ("F", "FALSE", "False", "false")' là sai và tất cả những người khác là 'NA'.' –