Creating a new column to a data frame using a formula from another variable

后端 未结 3 1667
醉梦人生
醉梦人生 2020-12-29 03:27

I want to create a new column to a data frame using a formula from another variable.
Example:
I have a data set \"aa\" is;

x    y 
2    3 
4             


        
相关标签:
3条回答
  • 2020-12-29 04:08

    you can use mutate from the package dplyr

    library(dplyr)
    aa <- aa %>% mutate(z = x+y-2)
    

    Hope it helps.

    0 讨论(0)
  • 2020-12-29 04:13

    You should probably read some basic tutorials on R other than An Introduction to R as despite what is written there the $ notation is more sensible and easier to understand than attach/detach. Try this in the meantime.

    aa <- data.frame(x = c(2, 4, 6), y = c(3, 5, 7))
    

    Which gives:

    > aa
      x y
    1 2 3
    2 4 5
    3 6 7
    

    Then enter:

    aa$z <- (aa$x + aa$y) - 2
    

    Which gives:

    > aa
      x y  z
    1 2 3  3
    2 4 5  7
    3 6 7 11
    
    0 讨论(0)
  • 2020-12-29 04:17

    If you want to evaluate an expression in the context, of a data frame, you can use with and within.

    aa$z <- with(aa, x + y - 2)
    

    or

    aa <- within(aa, z <- x + y - 2)
    

    Or, if your expression is in the form of a text string (you should see if there are other ways to write your code; evaluating arbitrary text strings can lead to lots of problems):

    aa$z <- eval(parse(text="x + y - 2"), aa)
    
    0 讨论(0)
提交回复
热议问题