Ю
Size: a a a
IM
ДК
df$alpha[1] <- 1
df[1,"alpha"] <- 1
DA
ДК
DA
ДК
df <- data.frame(alpha = c(1,2,3),
beta = c(1,2,3))
df$gamma[1] <- 1
View(df)
df$gamma[1] <- 2
View(df)
df[1,"delta"] <- 1
View(df)
ДК
A
df <- data.frame(alpha = c(1,2,3),
beta = c(1,2,3))
df$gamma[1] <- 1
View(df)
df$gamma[1] <- 2
View(df)
df[1,"delta"] <- 1
View(df)
df$gamma[1] <- 1
gamma
(как при вызове numeric()
), добавляется один элемент (единичка), получается вектор длины 1, затем этот вектор дублируется нужное количество раз, чтобы соответствовать числу строк в таблице.df[1,"delta"]
ДК
df$gamma[1] <- 1
gamma
(как при вызове numeric()
), добавляется один элемент (единичка), получается вектор длины 1, затем этот вектор дублируется нужное количество раз, чтобы соответствовать числу строк в таблице.df[1,"delta"]
df$gamma[1]создает сначала вектор нулевой длины, а не длины других векторов в df. В результате я вижу совсем не то, что прошу сделать... Для меня выглядит как баг, если честно.
АК
df$gamma[1]создает сначала вектор нулевой длины, а не длины других векторов в df. В результате я вижу совсем не то, что прошу сделать... Для меня выглядит как баг, если честно.
АК
NA_character_
), а затем уже производить какие-либо манипуляции.ДК
a
> `[`(100:1, 1)
[1] 100
> `[`(100:1, 101)
[1] NA
> `$`(mtcars, mpg)
[1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4 10.4
[17] 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7 15.0 21.4
> `$`(mtcars, var_new)
NULL
> `[`(`$`(mtcars, var_new), 1)
NULL
АК
[<-
.a
[
, получается, что mpg$var_new
не отличается от mpg$var_new[1]
, а дальше уже приписование векторизованоАК
> lobstr::ast(df$b[1] <- 2)
█─`<-`
├─█─`[`
│ ├─█─`$`
│ │ ├─df
│ │ └─b
│ └─1
└─2
> lobstr::ast(df[1, "c"] <- 2)
█─`<-`
├─█─`[`
│ ├─df
│ ├─1
│ └─"c"
└─2
[
- в первом случае относится к вектору - во втором случае к data.frame
.ДК
> lobstr::ast(df$b[1] <- 2)
█─`<-`
├─█─`[`
│ ├─█─`$`
│ │ ├─df
│ │ └─b
│ └─1
└─2
> lobstr::ast(df[1, "c"] <- 2)
█─`<-`
├─█─`[`
│ ├─df
│ ├─1
│ └─"c"
└─2
[
- в первом случае относится к вектору - во втором случае к data.frame
.АК
$
для data.frame
интерпретирует его как список и извлекает элемент с потерей атрибута родительского объекта и ожидать от него аналогичного поведения с [.data.frame
не стоит.АК