下一個字符我有識別的一些網絡路徑變量列表:獲取的R
> List_path<-list(c("A", "B", "C"), c("B", "C", "D"))
> List_path
[[1]]
[1] "A" "B" "C"
[[2]]
[1] "B" "C" "D"
而且還鄰接矩陣:
> MM<-matrix(c(1,1,0,0,0,-1,1,1,-1,0,0,-1,1,-1,0,0,-1,0,1,1,0,0,0,-1,1), 5, byrow=T)
> colnames(MM)<-c("A", "B", "C", "D", "E")
> row.names(MM)=colnames(MM)
> MM
A B C D E
A 1 1 0 0 0
B -1 1 1 -1 0
C 0 -1 1 -1 0
D 0 -1 0 1 1
E 0 0 0 -1 1
我想確定的每個路徑的符號網絡通過使用路徑列表和矩陣。我的想法是創造一個條件,如果給定的我後(確切的變量)給定j,那麼他們將形成一對[i,j],我可以用它來獲得來自我的矩陣的信息。
這裏如下或多或少我在代碼的想法:
if(List_path[[1]][j] *follows* List_path[[1]][i]){
List_report[[1]]=List_report[[1]]*MM[i,j]}
在這種情況下,List_report會已經與1's每個元素。
的List_report
應該是這樣的:
> List_report
[[1]]
[1] 1 # 1 (from original)* 1 (from [A,B]) * 1 (from [B,C])
[[2]]
[1] -1 # 1 (original) * 1 (from[B,C]) * -1 (from[C,D])
我的問題是,有沒有爲r的函數來獲取一個我指示,或者一個正確的前後變吧?
我試圖尋找這一點,只能找其他語言getnextchar
和R.沒有類似的。如果有人可以幫助,我會很感激
我不明白...爲什麼你不能簡單地之前或之後使用索引:例如'I-1,I + 1'? – digEmAll
也許這就是你想要的? 'lapply(List_path,函數(ⅴ)不公開(unname(地圖中(f =函數(X,Y)setNames(MM [X,Y],paste0(X, ' - >',y)的),頭部(V, - 1),尾部(v,-1)))))' – digEmAll
我試圖'List_path [[1]] [j] == List_path [[1]]第[i + 1]',但只會給出一個錯誤消息說'缺少T/F所需的價值'。在'lapply'的想法,我將如何形象化的結果?沒有那部分。 –