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_Function - Fatal编程技术网

R:将数据帧列分配给函数中的变量

R:将数据帧列分配给函数中的变量,r,function,R,Function,我希望能够将data.frame的列临时分配给函数中的变量名 mydata <- data.frame(a1="hello",a2=2,a3=3) f <- function(mydata) { for (i in names(mydata)) assign(i, tempdata[i]) print(a1) print(a2+a3) } [1] "hello" [2] 5 mydata我不太愿意发表这篇文章,但你的评论对解释你想要实现的目标并没有特别的帮助

我希望能够将
data.frame
的列临时分配给函数中的变量名

mydata <- data.frame(a1="hello",a2=2,a3=3) 

f <- function(mydata) {
   for (i in names(mydata)) assign(i, tempdata[i])
   print(a1)
   print(a2+a3)
}

[1] "hello"
[2] 5

mydata我不太愿意发表这篇文章,但你的评论对解释你想要实现的目标并没有特别的帮助,而且这似乎与你问题中的
f
函数的功能相匹配

with
函数将允许您引用列名,就像它们是变量一样:

with(mydata, {
  print(a1)
  print(a2 + a3)
})
# [1] hello
# Levels: hello
# [1] 5

也许,如果您解释了您试图实现的目标,就可以更容易地帮助您找到解决方案。我正在努力将常见的数据任务重新映射到一种更为用户友好的语言中。