2015-05-14 2 views
0

Я пытаюсь выполнить корреляцию между векторами неравной длиной, например,Если Else Заявление и векторная Длина

cor(x , y) 

Я хочу использовать максимально возможное число наблюдений для каждого. Кроме того, я хотел бы попробовать «случайно» из каждого вектора.

В псевдокоде:

cor( 
    sample(x, size = length(x or y, whichever is smaller), replace = FALSE) 
, sample(y, size = length(x or y, whichever is smaller), replace = FALSE) 
) 

Любые идеи о том, как я могу это сделать?

+0

'мин (длина (х), длина (у))'? Но корреляции, как правило, попарно, поэтому перетасовка значений 'x' и' y' вокруг не имеет большого смысла, и вы получите другой ответ для каждой случайной выборки. – MrFlick

+0

Да. Я в курсе. Я пытаюсь понять, как это происходит, и если оно отображает на прошлое людей ошибочные выводы. Благодаря! – lnNoam

+0

'replicate (10, cor (x, sample (y, length (x))))' или что-то подобное для 10 прогонов вашего кода. Я сомневаюсь, что есть необходимость «sample (x)», но так будет, если вы этого захотите. – thelatemail

ответ

1

Довольно уверен, что это будет делать то, что вы просите, но я вопросы ваших мотивов не используя попарные корреляции:

x <- 1:10 
y <- 15:35 

min.of.xy <- min(length(x), length(y)) 

cor(sample(x, min.of.xy, replace = FALSE), 
    sample(y, min.of.xy, replace = FALSE)) 
Смежные вопросы