R将列分配给具有变量名称的数据帧

时间:2012-08-18 03:02:45

标签: r syntax

使用变量名称分配给数据框列。

getModified <- function(dframe, destination_string, foo, bar) {
    # complex calculations on foo and bar getting mynewcol here
    # ...

    # I want to add mynewcolumn with name in destination_string
    # if "blah" was the destination_string, the result would be as:
    #dframe$blah <- mynewcol
    #return(dframe)

    # what is the syntax for using the variable?
    # no luck here:
    dframe[, destination_string] <- mynewcolumn
    return(dframe)
  }

这样我就可以打电话了

dframe <- getModified(dframe, "nameofmynewcolum", foo, bar)
dframe$nameofmynewcolumn

1 个答案:

答案 0 :(得分:5)

语法是

dframe[[destination_string]] <- mynewcolumn

例如,

getModified <- function(dframe, destination_string, foo) {
  dframe[[destination_string]] <- foo
  dframe
}
>     getModified(data.frame(A=1:10), "newColName", 11:20)
    A newColName
1   1         11
2   2         12
3   3         13
4   4         14
5   5         15
6   6         16
7   7         17
8   8         18
9   9         19
10 10         20