【发布时间】:2019-10-14 07:01:30
【问题描述】:
我正在尝试从列的值中删除一个子字符串,我的数据看起来像这样:
LBL Var1 Var2
name1 1 12
name1_A 1 13
name1_B 2 10
name2 1 11
name2_A 2 10
name2_B 3 9
我已经创建了一个适用于单个字符串的函数,但是当我尝试改变数据框时,它会显示第一行的结果并且不适用于其余行。我做错了什么?
这是我目前创建的函数:
remExt <- function(x){
y <- str_split_fixed(x,"_",2)
return(y[1])
}
我已经尝试过使用单个字符串的函数,并且效果很好:
string1 <- "Yes_No"
res <- remExt(string1)
print(res)
[1]“是”
我按照以下说明尝试变异:
df %>% mutate(newLBL = remExt(df$LBL))
我得到以下结果:
LBL Var1 Var2 newLBL
name1 1 12 name1
name1_A 1 13 name1
name1_B 2 10 name1
name2 1 11 name1
name2_A 2 10 name1
name2_B 3 9 name1
我的预期结果是:
LBL Var1 Var2 newLBL
name1 1 12 name1
name1_A 1 13 name1
name1_B 2 10 name1
name2 1 11 name2
name2_A 2 10 name2
name2_B 3 9 name2
但似乎无法让它工作,有什么想法吗?
【问题讨论】: