用户定义函数中的子集化数据帧返回0个观察值

时间:2017-04-28 15:44:43

标签: r subset

我有一个数据框all_order,它有很多列:ORDER_NUMBER,DATE,table,chair,book等。列表,椅子,书等中的每一个都将具有1或0的值。

我想创建一个用户定义的函数,它将通过仅保留order_number,date和其中一个变量(table或chair或book等)来仅对all_order进行子集化,并且仅保存table或chair或book等于1的观察值到目前为止,我已经这样做了

myfunc <- function(varia, newdate){


  new_file <- all_order[,c("ORDER_NUMBER","DATE",varia)]
  new_file <- subset(new_file,varia==1)
  new_file$newdate <- new_file$DATE
  myoutput <- new_file
  return(myoutput)

}

myoutput <- myfunc("table",table_date)

它总是以0观察返回myoutput,虽然我知道它不应该。我已经更改了第二行代码,但仍然返回0观察。

new_file <- subset(new_file,as.name(varia)==1)
你能帮助我吗?感谢。

示例数据如下:

ORDER_NUMBER                DATE table chair
1         15880107 2015-12-22 09:44:33     0     0
2         15880107 2016-03-15 14:35:12     0     0
3         15880107 2016-03-30 15:56:34     0     0
4         15880107 2016-03-24 15:02:11     0     0
5         35141357 2016-06-03 15:04:18     0     0
6         15880107 2015-10-14 14:39:04     0     0
7         15880107 2015-09-24 10:19:07     0     0

0 个答案:

没有答案