R 为什么一个函数为每个单元格分配多个值,并为单个数据帧单独运行该函数以存储单个值?
我创建了一个函数,该函数基于数据框中的两列和数据框名称创建ID号:R 为什么一个函数为每个单元格分配多个值,并为单个数据帧单独运行该函数以存储单个值?,r,function,dataframe,R,Function,Dataframe,我创建了一个函数,该函数基于数据框中的两列和数据框名称创建ID号: edit_dfs<-function(x){ x["ID"]<-paste0(gsub("_.",replacement="",x),"_",x[["ua1"]],"_",x[["ua2"]]) return(x) } edit\u dfs你是对的,我不敢相信我没有注意到这一点。 非常感谢你的帮助。我使用deparse(替换(x)) edit\u dfs您能给我们提供dput(hea
edit_dfs<-function(x){
x["ID"]<-paste0(gsub("_.",replacement="",x),"_",x[["ua1"]],"_",x[["ua2"]])
return(x)
}
edit\u dfs你是对的,我不敢相信我没有注意到这一点。
非常感谢你的帮助。我使用deparse(替换(x))
edit\u dfs您能给我们提供dput(head(I\u df1))
的输出吗?在您的函数中,您可以使用gsub(“,”replacement=“”,x)
(x
是一个数据帧),在您的代码中分别使用gsub(“,”replacement=“,”I\u df”)
(“I\u df”
是一个字符)。
test<-edit_dfs(I_df1)
> test["ID"]
# A tibble: 702 x 1
ID
<chr>
1 "c(\"1\", \"1\", \"1\", ...continues
I_df["ID"]<-paste0(gsub("_.",replacement="","I_df"),"_",I_df[["ua1"]],"_",I_df[["ua2"]])
> I_df["ID"]
# A tibble: 702 x 1
ID
<chr>
1 I_1_NA
2 I_1_NA
3 I_2_NA
Continues...and it is the result that I want
edit_dfs<-function(x){
x["ID"]<-paste0(gsub("_.",replacement="",deparse(substitute(x))),"_",x[["ua1"]],"_",x[["ua2"]])
return(x)
}