R“by”函数在与自创“nrow”函数配对时返回NULL值

时间:2015-04-03 14:07:49

标签: r function subset

我花了大约3个小时试图解决这个问题。我试图获取每个id的实例计数。我在“by”函数中创建了自己的函数,我测试了函数,它为我得到了所有id组合的正确计数...但是当我运行下面的代码时它返回“NULL”:

使其成为一个更具应用性的概念..如果我想知道每个患者在我的工厂有多少“好”+“实验室”访问该怎么办? :

dataset #<- this is the name of my dataset; each row is a visit.
id #<- this is the unique ID for each patient
event #<- this variable tells what type of visit it was

event == 1 #this is a 'well' visit
event == 2 #this is a lab visit 
event == 3 #this is a sick visit
event == 4 #this is an urgent care visit

by(dataset[,"event"], dataset[,"id"], function(dataset) {
nrow(subset(dataset["event"], (dataset["event"]==1 | dataset["event"]==2)))})

实际上,当我分开这个功能时 nrow(subset(dataset["event"], (dataset["event"]==1 | dataset["event"]==2)))

来自by声明,我得到了所有患者的这些类型的访问总数。当我运行包含by语句的代码时,我得到id的分隔,但是NULL值。我很确定我的function()代码中缺少这个问题...

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

table(subset(dataset, event %in% c(1, 2))$id)