Bu hatalar, var olmayan bir değişkene assign a value yapmayı denediğinizde ya da R name
olarak davranamadığında ortaya çıkar. (A adı bir değişken adı tutan bir değişken türüdür.)
deneyin hataları yeniden Kime: (? Üç hataların hangi NULL <- 1
getirileri tahmin edebilir)
1:2 <- 1
## Error in 1:2 <- 1 : target of assignment expands to non-language object
1 <- 1
## Error in 1 <- 1 : invalid (do_set) left-hand side to assignment
mean() <- 1
## Error in mean() <- 1 : invalid (NULL) left side of assignment
"x" <- 1 # same as x <- 1
:
R A az bilinen özelliği bir dizeye değer atayabilirsiniz olmasıdır
Örneğin, paste
kullanarak daha karmaşık bir ifade kullanarak dizeyi oluşturmaya ve oluşturmaya çalışırsanız bu işe yaramaz.
paste0("x", "y") <- 1
## Error: target of assignment expands to non-language object
assign
kullanımı
Create a variable name with "paste" in R? ve
How to name variables on the fly?
Bu çözüm Bkz:
assign(paste0("x", "y"), 1)
ortak senaryosu, bu c'de Omes up, veri çerçevelerinin sütunlarını atamaya çalışırken. Genellikle bir girişim birlikte paste()
atamanın sol yapılacaktır yani
paste0("my_dataframe$","my_column") <- my_value
Genellikle optimal çözüm burada değilget
veya assign
başvurmak ancak verilerin çerçeve sütunları referans verebilmek hatırlamaktır [
veya [[
operatörü kullanılarak karakter değişkenler tarafından: Benzer
x <- "my_column"
my_dataframe[,x] <- value #or...
my_dataframe[[x]] <- value
, sensonucuna atayamazsınız.
get("x") <- 1
## Error in get("x") <- 1 :
## target of assignment expands to non-language object
çözeltisi yerine işlevi ile bir araya get
daha karmaşık bir durum ile, ya
assign("x", 1)
ya da sadece
"x" <- 1
Using get() with replacement functions fırsatlar olduğunu.
Ayrıca bkz Cevapları detay Assignment in R language atama, Subset Assignment özellikle Ar dil tanımının açıklaması ile ilgili arcana bazılarıdır.