簡體   English   中英

我們如何在引號內的r中使用全局變量

[英]How do we use global variable in r inside a quotation

我自己編寫了所有這些代碼(請查看###下面的代碼),但我認為必須有某種方法可以在循環內完成此操作。 如何編輯代碼以編寫類似以下內容的循環:

i=10

for (i in 10 to 80){

    j=i+5

    age_only$agecat[age_only$CI_Age.at.Adverse.Event>=i &        
               age_only$CI_Age.at.Adverse.Event<j] <- "Between i and j-1"

    i=j
 }

我不知道如何在引號內使用i/j

 age_only$agecat[age_only$CI_Age.at.Adverse.Event] <- "Above 85" age_only$agecat[age_only$CI_Age.at.Adverse.Event<5]<-"Below 5" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=5 & age_only$CI_Age.at.Adverse.Event<10]<-"Between 5 to 9" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=10 & age_only$CI_Age.at.Adverse.Event<15]<- "Between 10 to 14" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=15 & age_only$CI_Age.at.Adverse.Event<20]<- "Between 15 to 19" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=20 & age_only$CI_Age.at.Adverse.Event<25]<- "Between 20 to 24" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=25 & age_only$CI_Age.at.Adverse.Event<30]<- "Between 25 to 29" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=30 & age_only$CI_Age.at.Adverse.Event<35]<- "Between 30 to 34" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=35 & age_only$CI_Age.at.Adverse.Event<40]<- "Between 35 to 39" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=40 & age_only$CI_Age.at.Adverse.Event<45]<-"Between 40 to 44" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=45 & age_only$CI_Age.at.Adverse.Event<50]<- "Between 45 to 49" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=50 & age_only$CI_Age.at.Adverse.Event<55]<-"Between 50 to 54" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=55 & age_only$CI_Age.at.Adverse.Event<60]<- "Between 55 to 59" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=60 & age_only$CI_Age.at.Adverse.Event<65]<- "Between 60 to 64" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=65 & age_only$CI_Age.at.Adverse.Event<70]<- "Between 65 to 69" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=70 & age_only$CI_Age.at.Adverse.Event<75]<- "Between 70 to 74" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=75 & age_only$CI_Age.at.Adverse.Event<80]<- "Between 75 to 79" age_only$agecat[age_only$CI_Age.at.Adverse.Event>=80 & age_only$CI_Age.at.Adverse.Event<85]<- "Between 80 to 84"` 

cut

age_only <- within(age_only, {
    agecat = cut(CI_Age.at.Adverse.Event, breaks = c(seq(0, 85, 5), 120))

   levels(agecat) <- sub("(\\(|\\[)(\\d*), ?(\\d*)(\\]|\\))", "Between \\2 and \\3",levels(agecat)) 
})

within ,我無需多次修改age_only$即可修改數據框。 sub命令會將級別從(5,10]為“ 5和10之間”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM