R 使用来自其他变量的公式为数据框创建新列
我想使用来自另一个变量的公式为数据框创建一个新列。R 使用来自其他变量的公式为数据框创建新列,r,dataframe,R,Dataframe,我想使用来自另一个变量的公式为数据框创建一个新列。 示例: 我有一个数据集“aa”是 我的R代码是 >bb <- "x+y-2" >attach(aa) >aa$z<- bb >detach(aa) 但是我想要这样 x y z 2 3 3 4 5 7 6 7 11 你能帮帮我吗 您可能应该阅读一些关于R的基本教程,而不是像那里写的那样,$符号比附加/分离更合理、更容易理解。同时试试这个 aa <- data.frame
示例:
我有一个数据集“aa”是 我的R代码是
>bb <- "x+y-2"
>attach(aa)
>aa$z<- bb
>detach(aa)
但是我想要这样
x y z
2 3 3
4 5 7
6 7 11
你能帮帮我吗 您可能应该阅读一些关于R的基本教程,而不是像那里写的那样,
$
符号比附加/分离
更合理、更容易理解。同时试试这个
aa <- data.frame(x = c(2, 4, 6), y = c(3, 5, 7))
然后输入:
aa$z <- (aa$x + aa$y) - 2
如果要在数据帧的上下文中计算表达式,可以使用
with
和in
aa$z <- with(aa, x + y - 2)
aa$z您可以使用包dplyr中的mutate
library(dplyr)
aa <- aa %>% mutate(z = x+y-2)
库(dplyr)
aa%突变(z=x+y-2)
希望有帮助。是的,先生,我知道。但它不会从另一个变量中获取公式。啊,抱歉,我有一个误解-然后根据另一个答案eval
确实是您想要的。非常感谢。aa$z
aa$z <- (aa$x + aa$y) - 2
> aa
x y z
1 2 3 3
2 4 5 7
3 6 7 11
aa$z <- with(aa, x + y - 2)
aa <- within(aa, z <- x + y - 2)
aa$z <- eval(parse(text="x + y - 2"), aa)
library(dplyr)
aa <- aa %>% mutate(z = x+y-2)