R write函数将列绑定到数据帧

R write函数将列绑定到数据帧,r,function,cbind,R,Function,Cbind,我编写了一个函数,通过对现有数据帧的列执行子字符串操作来创建值向量: fetchParent <- function(column){ substr(column,1,regexpr(":", column)-1) } addParent <- function(df){ df <- cbind(df,fetchParent(df$"Work Product")) } 这将返回一个向量: [1] "DE10946" "DE5909" "US30637" "US3

我编写了一个函数,通过对现有数据帧的列执行子字符串操作来创建值向量:

fetchParent <- function(column){
  substr(column,1,regexpr(":", column)-1)
}
addParent <- function(df){
  df <- cbind(df,fetchParent(df$"Work Product"))
}
这将返回一个向量:

 [1] "DE10946" "DE5909"  "US30637" "US31460" "DE16399" "DE18046" "DE18841" "DE18904" "DE19138"
 [10] "US48201" "US48314" "US48315" "US48316" "US48317 ...
我编写了第二个函数将此向量绑定到原始数据帧:

fetchParent <- function(column){
  substr(column,1,regexpr(":", column)-1)
}
addParent <- function(df){
  df <- cbind(df,fetchParent(df$"Work Product"))
}
结果返回原始列,不包含新列


我在这里遗漏了什么?

您必须返回新的数据帧:

addParent <- function(df){
     return(cbind(df,fetchParent(df$"Work Product")))
}

addParent您是否将
addParent(…)
的结果分配给对象?喜欢
df2谢谢。昨晚睡觉前不久我把这封信贴了出来。正如经常发生的那样,当我躺在那里仔细思考这个问题时,我认为这是一件非常基本的事情,但我只是无法理解。我不会忘记return()函数的,再次感谢。
addParent <- function(df){
    cbind(df,fetchParent(df$"Work Product"))
}
addParent <- function(df){
    df <- cbind(df,fetchParent(df$"Work Product"))
    return(df)
}