我正在嘗試使用函數在R中自動執行一個簡單的任務。 C
是字符變量列表。 mydata
- 是數據集。將字符串列表作爲輸入傳遞給函數
基本上,我需要給每個向量C
中的字符串作爲函數的輸入。
數據集:
mydata <- structure(list(a = c(1L, 1L, 1L, 1L, 0L, 0L, 1L, 0L), b = c(4L,3L, 1L, 2L, 1L, 5L, 2L, 2L), c = c(1L, 1L, 1L, 1L, 1L, 1L, 1L,1L), d = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), t = c(42L, 34L, 74L,39L, 47L, 8L, 36L, 39L), s = c(0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L)), .Names = c("a", "b", "c", "d", "t", "s"), row.names = c(NA,8L), class = "data.frame")
代碼:
c<-c("a","b","c","d")
plot<-function()
for (i in c)
{
fit<-survfit(Surv(s,t)~paste(i), dat=mydata)
ggsurvplot(fit, pval = TRUE)
}
plot()
我米麪臨如下錯誤:
Error in model.frame.default(formula = Surv(mydata$s, mydata$t) ~ paste(i), : variable lengths differ (found for 'paste(i)')
我曾嘗試重新配製,以及:
情節< -function() 爲(Ⅰc)中 { survfit(更新(監測網(S,T) - 。,重新配製(ⅰ)),數據= MYDATA) ggsurvplot(配合,PVAL = TRUE)
} 圖()
但是這個代碼也給出了這樣的錯誤:
Error in reformulate(i) : object 'i' not found
任何幫助,以使此代碼工作?
謝謝
當您使用樣本輸入數據提供某種[可重現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a- great-r-reproducible-example)時,它更容易提供幫助所以我們可以真正運行和測試代碼。 – MrFlick
感謝您的評論。樣本輸入數據提供 – riz