Назначение новых векторов в кадре данных с использованием cbind () и data.frame () - PullRequest
0 голосов
/ 07 июня 2018

Я помещаю векторы в фрейм данных, используя cbind () и data.frame ().И я хочу добавить новый вектор (цена / деньги) при создании фрейма данных.

flowers1: использование data.frame () для создания фрейма данных;'=', чтобы назначить новый вектор

flowers2: использование cbind () для создания кадра данных;'=', чтобы назначить новый вектор

flowers3: использование data.frame () для создания фрейма данных;«<-», чтобы назначить новый вектор </p>

flowers4: использование cbind () для создания кадра данных;«<-» для назначения нового вектора </p>

flowers1 и 2 - это то, что я ожидаю, но в flowers3 заголовок третьего столбца нечетный.А в flowers4 заголовок третьего столбца отсутствует.

Мои вопросы:

  1. что вызвало это?

  2. Есть ли какая-либо другая разница между назначением вектора с использованием '<-' и '=' </p>

    (я знаю только, что эти два метода назначения имеют разный приоритет и различное время жизни переменной?

  3. Это незаконно или не рекомендуется назначать новый вектор при создании кадра данных?

Спасибо!

name <- c('iris','daisy')
color <- c('purple','blue')
flowers1 <- data.frame(name,color,price = c(10,20))
flowers1
# output
name  color price
1  iris purple    10
2 daisy   blue    20

flowers2 <- cbind(name,color,price = c(10,20))
flowers2
# output
name    color    price
[1,] "iris"  "purple" "10" 
[2,] "daisy" "blue"   "20"

flowers3 <- data.frame(name,color,price <- c(10,20))
flowers3
# output
   name  color price....c.10..20.
1  iris purple                 10
2 daisy   blue                 20

flowers4 <- cbind(name,color,money <- c(10,20))
flowers4
# output
      name    color        
[1,] "iris"  "purple" "10"
[2,] "daisy" "blue"   "20"

1 Ответ

0 голосов
/ 07 июня 2018

Используйте = для установки аргументов функции, а <- в качестве оператора присваивания.Это могло бы объяснить немного: </p>

A = LETTERS[1:5]
B = letters[1:5]

d <- data.frame(A , B, CC <- seq(5, 1, -1))
d
CC # lives outside d!

d1 <- data.frame(A, B, DD = seq(5, 1, -1))
d1
DD # does not live outside d1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...