2015-09-06 3 views
1

Edit:результаты печати уравнения в таблице

Я пытаюсь использовать функцию каждой комбинации значений в векторе и сохранить результат в п х п матрицы. Мое описание ниже не так кратки. Спасибо @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 x n матрице. 'outer()' это делает это. – Deleet

ответ

1

Вы можете попробовать outer

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

Я считаю, что мой пост был неясным. Я отредактировал его, чтобы попытаться показать, что мне нужно взять имя строки и столбца и вывести результат функции – Rilcon42

+0

@ Rilcon42 Я думаю, что вы ищете 'external', укажите функцию в' FUN', но вы редактируете «Функция (i, j) _RESULT_HERE_FROM FUNCTION» не воспроизводится. – akrun

+0

Извините, я написал комментарий перед отправкой изменений. В основном мне нужно взять имя строки и столбца и вернуть число. Как только я верну номер, мне нужно сохранить его в dataframe – Rilcon42

Смежные вопросы