R 根据其他两列的划分功能性地添加新列

R 根据其他两列的划分功能性地添加新列,r,R,背景 抱歉,如果这是重复,我找不到与此问题完全匹配的答案。 作为一个更大函数的一部分,我尝试在data.frame中添加一个新列,它基本上是对该data.frame中两个变量的除法 例如: data(iris) iris_test <- function(dataset, var1, var2) { data <- dataset data$length_width <- data$var1/data$var2 return(data) } 我想你可以用past

背景

抱歉,如果这是重复,我找不到与此问题完全匹配的答案。 作为一个更大函数的一部分,我尝试在data.frame中添加一个新列,它基本上是对该data.frame中两个变量的除法

例如:

data(iris)

iris_test <- function(dataset, var1, var2) {
  data <- dataset
  data$length_width <- data$var1/data$var2
  return(data)
}

我想你可以用paste()或formula()做一些有趣的事情,但我真的想了解发生了什么,以及wy

美元符号不能使用字符变量。试试这个:

data(iris)

iris_test <- function(dataset, var1, var2) {
  data <- dataset
  data$length_width <- data[[var1]]/data[[var2]]
  return(data)
}
数据(iris)

iris\u测试不能使用字符值作为美元表示法。
 Error in `$<-.data.frame`(`*tmp*`, "length_width", value = numeric(0)) : 
  replacement has 0 rows, data has 150 
data(iris)

iris_test <- function(dataset, var1, var2) {
  data <- dataset
  data$length_width <- data[[var1]]/data[[var2]]
  return(data)
}