我有這樣的代碼,主要是由這裏的一個成員編寫的,這些代碼在趨勢線係數爲正數的情況下導出我需要從數據集中獲取的所有圖形增加趨勢線)。在條件語句下將列從一個數據框轉移到另一個
lung <- read.csv("LAC.csv")
attach(lung) #data
age <- lung$Age
mirna <- data.frame(lung)
stuff <- data.frame(matrix(ncol = 500, nrow = 40))
pdf("test.pdf") # exports to pdf all the graphs
lapply(colnames(mirna)[-1],function(col){ #function for plotting
form <- formula(paste(col, "age", sep = "~"))
fit <- lm(form, mirna)
stuff_want <- stuff
if (coef(fit)[2] >0) { #plotting with condition
plot(form, df, xlab = "Age", main= "miRNA expression with increasing age")
abline(fit, col = 4)
}
})
dev.off()
這給了我,我希望在以後使用,以檢查其中的miRNA在數據集中的要求和手動隔離柱的PDF文件。但是,我嚴重低估了符合條件的mirRNA的數量,現在又面臨着一個新的難題,那就是如何將數據從列中導出並將趨勢線增加到單獨的數據框中,我將稍後保存爲.csv文件並用於更深入的分析。
請記住我對R的知識非常有限,儘管我在Rhelp和書籍中花費了幾天時間。我的想法是創建一個單獨的數據框(stuff_want),滿足條件(coef(lm())> 0)的列將被轉移到該框中。我最初的想法是使用append()函數並在if條件下編寫append(stuff_want, mirna, after = length(mirna))
後跟write.csv()
函數。這個輸出只是NA填充的.csv文件。
任何人都可以向我解釋爲什麼這不起作用?
一切順利, Paulius
後'如果(COEF(適合更換代碼) 2]> 0)'by'if(coef(fit)[2]> 0)col'應該解決問題。 – agstudy 2014-10-08 15:10:10