【问题标题】:Creating a loop for all variables with a similar name为具有相似名称的所有变量创建循环
【发布时间】:2012-07-19 22:29:59
【问题描述】:

我是 R 新手,也是这个论坛的新手。我已经搜索过,但无法轻易找到这个问题的答案:

我有按位置按周计算的疾病病例数,存储在 .csv 文件中,变量名称为 case.wk24、cases.wk25 等。我也有每个位置的人口,并希望生成发病率每个位置的(# 例/人口)。

我想编写一个循环,按位置生成每周的发病率,并将其存储在名为“ir.wk24”、“ir.wk25”等的新变量中

我被困在两点:

  1. 如果遇到看起来像“cases.wk”的变量,是否可以告诉 R 运行循环?在某些程序中,会使用星号 - case.wk*

  2. 然后如何生成具有顺序命名的新变量并将它们存储在数据集中?

非常感谢您对此提供的任何帮助 - 整天都被互联网搜索困住了!

谢谢

【问题讨论】:

标签: r variables loops


【解决方案1】:
x <- data.frame(case.wk24=c(1,3),case.wk25=c(3,2), pop=c(7,8))

weeks <- 24:25
varnames <- paste("case.wk", weeks, sep="")
ir <- sapply(varnames,FUN=function(.varname){
    x[,.varname]/x[,"pop"]
})
ir <- as.data.frame(ir)
names(ir) <- paste("ir.wk", weeks, sep="")
x <- cbind(x,ir)
x

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-09
    • 2017-11-16
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    相关资源
    最近更新 更多