在R中进行就地分配而不写两次变量名?

时间:2018-01-26 12:48:53

标签: python r

我通常会尝试避免代码重复,即使是在单行中也是如此。但是,我发现自己在R中写了这样的行:

# R code
my_long_vector_var_name <- append(my_long_vector_var_name, new_var)
my_long_int_name <- my_long_int_name + 1

在Python中,不仅连续的字母数量减少 - 我也不必两次写同一个变量,这可能会减少错误:

my_long_vector_var_name.append(new_var)
my_long_int_name += 1

对于第二个,this question表示确实没有可比的&#34;短&#34;然而,这个问题已经超过6年了。在R中还没有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

magrittr有一个%<>%运算符,可以管理和更新对象。

library('magrittr')

v <- c(1, 2)

v %<>% append(3)
v
#> [1] 1 2 3

v %<>% add(1)
v
#> [1] 2 3 4

答案 1 :(得分:1)

对于第一个问题,您可以使用dplyr包中的%&gt;%运算符

library(dplyr)
my_long_vector<-rep(c("A","B","C"),10)%>%c("NEW VALUE")