2016-08-06 2 views
0

f1과 f2가 정수 인 경우 f1 : f2는 a에서 b까지 1의 차이가있는 정수 목록을 나타냅니다. a와 b가 둘 다 요인 인 경우 f1 : f2는 아래에서 볼 수 있듯이 f1과 f2 (상호 작용)의 요인 수준의 각 고유 한 조합의 수준을 갖는 새로운 요소입니다. f1 : x를 사용하면 어떨까요? x는 인수와 반대되는 목록입니까? 당신이 볼 수 있듯이콜론 연산자 인자 :리스트

f1<-gl(2,3) #create factor with 2 levels 
f2<-gl(3,2) #create factor with 3 levels 
x<-rnorm(6) #create list with 6 real numbers(sampled from normal) 

> f1 
[1] 1 1 1 2 2 2 
Levels: 1 2 

> f2 
[1] 1 1 2 2 3 3 
Levels: 1 2 3 

> x 
[1] 0.6705013 -0.2116773 -0.3812724 -0.3687866 1.4878815 0.3095373 

f1:f2 

[1] 1:1 1:1 1:2 2:2 2:3 2:3 
Levels: 1:1 1:2 1:3 2:1 2:2 2:3 

f1:x 

[1] 1 
Warning messages: 
1: In f1:x : numerical expression has 6 elements: only the first used 
2: In f1:x : numerical expression has 6 elements: only the first used 

, 내가 경고 메시지 1의 출력을 얻을. 무슨 일입니까?

+2

'? ":"'도움말 페이지를 확인 했습니까? 숫자 값이나 '요인'에 대한 특수 버전 만 있습니다. 당신은 정말로 섞일 수 없습니다. 인수로,':'는 기본적으로'interaction()'의 지름길입니다. 기본적으로 데이터 유형을 혼합 할 때의 동작은 정의되지 않습니다. 너는 무엇을하려고 했는가? – MrFlick

답변

0

일부 실험은 R가 숫자로 결장의 양쪽에있는 식을 강요 각 식의 첫 번째 요소를 고려하고 seq(from, to)로 콜론 표현식을 평가할 것을 제안한다. 예 : 당신의 예에서

> factor(c("C","B","A")):(7:8) 
[1] 3 4 5 6 7 

1: 0.67050131로 평가합니다.