我使用cbind()和data.frame()将向量放入数据帧。我想在构建数据帧时添加一个新的向量(价格/金钱)。
flowers1: 使用data.frame()创建数据帧; ' ='分配新的载体
flowers2: 使用cbind()创建数据帧; ' ='分配新的载体
flowers3: 使用data.frame()创建数据帧; '< - '分配新的载体
flowers4: 使用cbind()创建数据帧; '< - '分配新的载体
flowers1和2是我的期望但是在flowers3中,第三列的标题是奇数。在flowers4中,缺少第三列的标题。
我的问题是:
造成这种情况的原因是什么?
使用'< - '分配向量之间是否还有其他区别?和' ='
(我只知道这两种分配方法有不同的优先级和不同的可变寿命?
创建数据框时是否非法或建议不要指定新的向量?
谢谢!
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"
答案 0 :(得分:1)
使用=来设置函数参数,使用&lt; - 作为赋值运算符。这可以解释一下:
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