【发布时间】:2016-07-02 15:57:28
【问题描述】:
我创建了一个函数,其目标是在不同的数据帧之间进行选择,并从该数据帧中的选定列中选择选定的数据帧:
#Dataset 1
cases <- c(1:10)
op1 <- c(1,0,1,1,1,1,0,0,0,0)
op2 <- c(1,0,1,0,0,0,0,0,0,0)
Dataset1 <- data.frame(cases,option1= op1,option2= op2)
#Dataset 2
cases <- c(1:10)
op3 <- c(1,0,1,1,1,1,0,0,0,0)
op4 <- c(1,0,1,0,0,0,0,0,0,0)
Dataset2 <- data.frame(cases,option1=op3 ,option2= op4)
# The function
Data <- function( selection, dataset){
Dataset1 <- with( dataset, dataset [selection == 1,])
Dataset1
}
# example of intended use
Data(selection= option1, dataset= Dataset2)
这会产生错误:
Error in `[.data.frame`(dataset, selection == "1", ) :
object 'option1' not found
Called from: (function ()
{
.rs.breakOnError(TRUE)
})()
但如果我“手动”使用它,它会起作用:
with( Dataset2, Dataset2 [option1 == 1,])
cases option1 option2
1 1 1 1
3 3 1 1
4 4 1 0
5 5 1 0
6 6 1 0
你知道我在创建函数时做错了什么吗? 感谢您的宝贵时间!
【问题讨论】:
标签: r function dataframe subset