[英]Applying combine function over dataframe and saving as a single list/dataframe
我正在嘗試創建一個網絡。 我有一個數據框:
。 。 v1 .v2 .v3
1 / .1 ... 2 .... 3
2 / .3 ... 4 .. 7
3 /。 6 ... 11。 9
我希望在每一行中找到所有可能的組合。 例如,第一行的值為1、2、3,因此結果將是(1、2)(1、3)(2、3)。 然后,我將繼續查找僅在第二行3、4、7返回(3、4)(3、7)(4、7)的值之間的組合。
現在,我希望逐行執行此功能,然后將所有結果組合在一起以創建邊緣列表以創建網絡。
我已經嘗試了幾個小時的函數,應用和合並迭代,但似乎無法正常工作。
有人對如何解決這個問題有任何想法嗎?
最后,我是R的新手。是否有辦法將其分解或逐步解決? 如果可以使用諸如apply,for循環和填充之類的簡單功能,而不是使用奇特的特定功能,我將不勝感激。 這樣,我可以查看您的想法並向他們學習,以便以后將其應用於其他問題。
您可能已經很接近了(盡管您將來應該發布嘗試的代碼,並且還使用dput
的數據)。
使用apply
的問題是它將嘗試自動進行簡化(簡化為單個向量或矩陣),並且由於combn
返回矩陣,因此您絕對不希望進行簡化。 lapply
時,應使用lapply
:
lapply(1L:nrow(your_data_frame), function(i) { combn(your_data_frame[i,], m=2L) })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.