Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用来自其他变量的公式为数据框创建新列_R_Dataframe - Fatal编程技术网

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)