R 向数据帧添加新列。创建正确函数的问题。第二个输入参数未被识别为变量
已经谢谢你帮我了R 向数据帧添加新列。创建正确函数的问题。第二个输入参数未被识别为变量,r,function,R,Function,已经谢谢你帮我了 add_empty_column <- function(a,b) { a$b <-0 return(a) } add\u empty\u column将列名作为变量传递时,不要使用$。改为使用[ add_empty_column <- function(a,b) { a[[b]] <-0;return(a) } add\u empty\u column在将列名作为变量传递时,不要使用$,而是使用[ add_empty_column <
add_empty_column <- function(a,b) {
a$b <-0
return(a)
}
add\u empty\u column将列名作为变量传递时,不要使用$
。改为使用[
add_empty_column <- function(a,b) { a[[b]] <-0;return(a) }
add\u empty\u column在将列名作为变量传递时,不要使用$
,而是使用[
add_empty_column <- function(a,b) { a[[b]] <-0;return(a) }
add_empty_column如果希望函数按预期工作,则需要使用deparse(替换(b))
,并使用括号运算符而不是$
运算符:
添加空列2 15 21
#> 3 22 38
我们可以做到:
add_empty_列(df,value)
#>起止值
#> 1 5 10 0
#> 2 15 21 0
#> 3 22 38 0
如果希望函数按预期工作,则需要使用deparse(替换(b))
,并使用括号运算符而不是$
运算符:
添加空列2 15 21
#> 3 22 38
我们可以做到:
add_empty_列(df,value)
#>起止值
#> 1 5 10 0
#> 2 15 21 0
#> 3 22 38 0
使用rlang
和dplyr
的一个选项可能是(我从@AllanCameron获取数据):
或者,如果您想直接创建新变量,您可以使用(credits@AllanCameron):
使用rlang
和dplyr
的一个选项可能是(我从@AllanCameron获取数据):
或者,如果您想直接创建新变量,您可以使用(credits@AllanCameron):
尽管如此,如果你打算使用tidyverse,我想你会做mutate(df,variable=0)
@AllanCameron是的,你是对的。我会用你有用的建议更新答案!!非常感谢!!!尽管如此,如果你打算使用tidyverse,我想你会做mutate(df,variable=0)
@AllanCameron是的,你是对的。我会用你有用的建议更新答案!!非常感谢!!!
library(dplyr)
#Data
df <- data.frame(Start = c(5, 15, 22), End = c(10, 21, 38))
#Function
create.colum <- function(x,y)
{
x %>% mutate(!!rlang::enquo(y):=0) -> x
return(x)
}
#Apply
create.colum(df,variable)
Start End variable
1 5 10 0
2 15 21 0
3 22 38 0
#Code 2
df <- df %>% mutate(variable=0)
Start End variable
1 5 10 0
2 15 21 0
3 22 38 0