【问题标题】:R "by" function returning NULL values when paired with self-created "nrow" functionR“by”函数与自创“nrow”函数配对时返回NULL值
【发布时间】:2015-04-03 14:07:48
【问题描述】:

我确实花了 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() 代码中缺少问题...

提前感谢您的帮助!

【问题讨论】:

    标签: r function subset


    【解决方案1】:
    table(subset(dataset, event %in% c(1, 2))$id)
    

    【讨论】:

    • 这就像一个魅力!谢谢!我今天就能完成一些工作,不会再长出白发了!
    猜你喜欢
    • 2022-11-22
    • 2014-04-26
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多