首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中保持一段时间的排名

在R中保持一段时间的排名
EN

Stack Overflow用户
提问于 2018-03-06 18:56:08
回答 1查看 47关注 0票数 0

在R中有没有一种方法来检查个人观察的等级是否随着时间的推移而保持?多年来,我测量了许多植物,并想检查大植物是否保持大,小植物是否保持小(即大植物是否阻止了其他植物的生长)。这些植物的大小排名为1-5 (从小到大)。我已经测量了大约1000株植物。

非常感谢您的回复或意见。/Stina

EN

回答 1

Stack Overflow用户

发布于 2018-03-06 19:49:50

也许你会做这样的事情?

代码语言:javascript
运行
复制
# create random data
plantId <- sample(1:50,1000,replace=TRUE)
rank    <- sample(1:5,1000,replace=TRUE)
time    <- as.POSIXct(sample(1000000:10000000,1000,replace=FALSE)+10000000*rank,origin="1970-01-01")
myData <- data.frame(plantId , rank, time )

# function to calculate the time a plant has a given rank
getRankTime <- function(id,testRank,data=myData){
  plantData <- myData[myData$plantId==id,];
  if(nrow(plantData) < 2){ # only one observed value of this plant
    return(NA)
  }else if(all(plantData$rank != testRank)){ # plant was never of the rank under consideration
    return(NA)   
  }else{ # calculate the (censered) time the plant stay(ed) in rank 'testRank'
    startObsTimeInRank <- min(plantData$time[plantData$rank == testRank])
    if(any(plantData$rank > testRank)){
      endObsTimeInRank <- min(plantData$time[plantData$rank > testRank])
    }else{
      #eighter take the last time
      endObsTimeInRank <- max(plantData$time[plantData$rank == testRank])  
      # alternatively use the current time
      # endObsTimeInRank <- Sys.time()
    }
    return(as.numeric(endObsTimeInRank - startObsTimeInRank))
  }
}

# calculate the average time plants stay in a rank
allPlantIds <- unique(myData$plantId)
stayInRankTime <- list()
for(runRank in 1:5){
  stayInRankTime[[runRank]] <- sapply(allPlantIds, function(runPlatId) getRankTime(runPlatId,runRank) )
}
# average time plants stay in acertain rank'
avgRankTime <- lapply(stayInRankTime,function(x)mean(x, na.rm =TRUE))
avgRankTime
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49129136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档