这里是我的问题,当我想要开发一个供广泛使用的函数时。
dataframe1 <- data.frame(V1 = 1:10, V2 = 11:20, V3 = 21:30, V4 = 31:40)
myfun <- function (dataframe, A, B, yvar) {
dataframe1$A <- as.factor(dataframe$A)
dataframe1$B <- as.factor (dataframe$B)
dataframe1 <- data.frame(A = dataframe1$A,
B = dataframe1$B, yvar = dataframe1$yvar)
print(dataframe1)
}
myfun (dataframe = dataframe1, A = "V1", B= "V2", yvar = "V3")
Error in `$<-.data.frame`(`*tmp*`, "A", value = integer(0)) :
replacement has 0 rows, data has 10
myfun (dataframe = dataframe1, A = dataframe1$V1,
B= dataframe1$V2, yvar = dataframe1$V3)
Error in `$<-.data.frame`(`*tmp*`, "A", value = integer(0)) :
replacement has 0 rows, data has 10
我想使用第一种定义方式,其中变量名称参数在“括号”中而不是“datafile $ variablename”中。