Я хочу, чтобы создать dataframe внутри функции, выбор столбцов в dataframe дКак передать имена столбцов в R-функции?
QPP<-function(dat,xvar,yvar){
varx <<- dat[,c(xvar)]
vary <<- dat[,c(yvar)]
a <- cbind(varx,vary)
a <- as.data.frame(a)
#Perform some operations
}
QPP(dat=d,xvar = area,yvar = f.ecdf)
Но я получаю сообщение об ошибке:
Ошибка в Eval (выражение, ENVIR, Enclos): аргумент отсутствует, не по умолчанию
- Как я могу это исправить?
В качестве альтернативы, можно ли выбрать имена столбцов за один шаг, а не выбирать, а затем перетаскивать его? Я не уверен, как передать имена столбцов.
dput(droplevels(head(d,10))) structure(list(area = c(96.8656, 96.8656, 562.0274, 117.5855, 117.5855, 117.5855, 117.5855, 117.5855, 117.5855, 117.5855), tp = c(1.5, 1, 0.5, 4.5, 6, 8.25, 4.25, 5.75, 10.75, 20.25 ), f.ecdf = c(0.887918176006819, 0.812380140634988, 0.760387811634349, 0.0372895802258683, 0.00809716599190283, 0.0310036224163648, 0.300660558278287, 0.441721713189857, 0.152354570637119, 0.386852759428937)), .Names = c("area", "tp", "f.ecdf"), row.names = c(NA, -10L), class = c("data.table", "data.frame"))
Попробуйте использовать 'QPP (dat = d, xvar =" area ", yvar =" f.ecdf ")' – HubertL
Я пробовал это. Я не получаю dataframe с числами, а ядром данных с областью имен и f.ecdf. Должен ли я сначала привязать набор данных? – maximusdooku
Почему вы просто не делаете 'dat [, c (" area "," f.ecdf ")]'? Зачем нужна эта функция? – aichao