这开头是一个先行的问题,但后来变成了一个功能性问题,特别是关于magrittr。
我想添加一个 data_frame ,它会手动输入到已经存在的那个:
cars_0 <- mtcars %>%
mutate(brand = row.names(.)) %>%
select(brand, mpg, cyl)
new_cars <- matrix(ncol = 3, byrow = T, c(
"VW Beetle", 25, 4,
"Peugeot 406", 42, 6)) # Coercing types is not an issue here.
cars_1 <- rbind(cars_0,
set_colnames(new_cars, names(cars_0)))
我正在使用矩阵编写新车以增加“易读性”,因此需要将其列名设置为cars_0
。
如果有人像我一样喜欢magrittr,他们可能会先提出new_cars
并将其传递给set_colnames
cars_1 <- rbind(cars_0, new_cars %>%
set_colnames(names(cars_0)))
或者为了避免重复,他们想要指出cars_0
并将其传递给rbind
cars_1 <- cars_0 %>%
rbind(., set_colnames(new_cars, names(.)))
然而,人们不能同时做这两件事,因为对谁进行管道传输存在困惑
cars_1 <- cars_0 %>%
rbind(., new_cars %>% set_colnames(names(.)))
## Error in match.names(clabs, names(xi)) :
## names do not match previous names
我的问题:有没有办法区分管道的两个参数?