2015-09-06 130 views
1

編輯:打印結果表

我想在矢量使用的值的每一個組合功能,並將結果保存到N×N的矩陣。我下面的描述並不簡單。由於@Deleet

我試圖打印功能的結果表,而不是作爲一個列表。有人可以解釋如何做到這一點一般?我在下面列出了我的具體情況。

df<-data.frame(
    c1=c(1,2,3), 
    c2=c(6,6,6), 
    c3=c(23,44,66) 
) 

temp<-NULL 
for(i in colnames(df)){ 
    for(j in colnames(df)){ 
     temp<-c(temp,paste0("function(i,j)_RESULT_HERE_FROM FUNCTION")) 
    } 
} 

目標:

c1   c2   c3 
c1 RESULT_HERE RESULT_HERE RESULT_HERE 
c2 RESULT_HERE RESULT_HERE RESULT_HERE 
c3 RESULT_HERE RESULT_HERE RESULT_HERE 
+0

你能編輯這是更清楚了嗎?前幾行看起來似乎是要將來自3x3矩陣的輸入值用於函數,否則,爲什麼要在那裏寫入值? 但後來似乎你想要在矢量的每個值組合上使用一個函數,並將結果保存爲一個n×n矩陣。 'outer()'是這樣做的。 – Deleet

回答

1

您可以嘗試outer

temp <- outer(colnames(df), colnames(df), 
     FUN=function(x,y) paste0(y, "!!", x, "!!", "RESULT_HERE")) 
+0

我相信我的帖子不清楚。我已經編輯它試圖表明我需要在一個行和列名和輸出功能 – Rilcon42

+0

@ Rilcon42我認爲你正在尋找'outer'的結果,指定了'FUN'但你的編輯功能「function(i,j)_RESULT_HERE_FROM FUNCTION」是不可重現的。 – akrun

+0

對不起,我在提交修改之前寫了評論。基本上我需要輸入一個行和列的名字,並返回一個數字。一旦我返回數字我需要將其存儲在數據框中 – Rilcon42