我有一個簡單的問題,但它花費我幾個小時。我想cbind()一個矩陣和一個數據框。問題是,他們沒有相同的長度。將循環中的不等長矩陣與cbind組合()
矩陣:
condition
[,1]
ILMN_1666845 TRUE
ILMN_1716400 TRUE
Data.frame
a
t1 t2 t3 t4 1 0 1 1 1
如果我用cbind()返回沒有環,一切正常,這就是結果:
b<-cbind(condition,a) b
condition t1 t2 t3 t4
ILMN_1666845 TRUE 0 1 1 1
ILMN_1716400 TRUE 0 1 1 1
但在for循環中,我收到以下錯誤: data.frame中的錯誤(...,check.names = FALSE): 參數意味着行數不同:0,謝謝!
對於循環代碼:
for (p in 1:nrow(outcomes)) {
id <- apply(regulationtable, 1, function(i)
sum(i[1:length(regulationtable)] != outcomes[p,])==0)
idd<-as.matrix(id)
condition = subset(idd, idd[,1]==TRUE)
a<-as.data.frame(t(outcomes[p,]))
b<-cbind(condition,a)
write.table(b, "file.txt", append=TRUE)}
向我們顯示您的循環代碼,然後有人可以幫助 – 2011-03-23 15:04:08
這與您以前的問題有關。你能描述一下你正在嘗試的是什麼以及結構和監管結構是什麼?如果可能的話,爲我們提供一個重現錯誤的最簡單的例子。 – 2011-03-23 15:33:06
我創建了一個重新創建您所描述的錯誤的最小示例。我還增加了一個更好的方法來避免你在這個和你以前的問題中遇到的麻煩。如果你需要更多的解釋,請問。 – 2011-03-23 21:32:10