반응형
seq_along이 작동하지만 seq가 의도하지 않은 결과를 생성하는 경우의 예는 무엇입니까?
언제 효과 seq_along
가 좋을지에 seq
대한 좋은 예는 무엇입니까?
?seq
우리 의 문서에서 :
인수 이름에 관계없이 첫 번째 인수의 클래스에서 디스패치합니다. 이는 의도하지 않은 결과를 초래할 수 있습니다. 하나의 인수 단로 호출하여 이것을 다음과 같이
along.with
사용seq_along
하는 것이 좋습니다 . 경우이 에 사용하는 것이 훨씬 좋습니다 .
이것은 차이를 분명하게해야합니다. 기본적으로 seq()
같은 역할을 seq_along()
제외하고 는 같은 역할을하는 경우에는 길이가 1 인 벡터를 통과 할 때 seq_len()
. 이것이 한 번 당신을 물면 seq()
다시 는 사용하지 않을 것입니다 !
a <- c(8, 9, 10)
b <- c(9, 10)
c <- 10
seq_along(a)
# [1] 1 2 3
seq_along(b)
# [1] 1 2
seq_along(c)
# [1] 1
seq(a)
# [1] 1 2 3
seq(b)
# [1] 1 2
seq(c)
# [1] 1 2 3 4 5 6 7 8 9 10
sample()
유사하게 비정상적인 행동 을 보이는 것은 주목할 가치가 있습니다.
sample(a)
# [1] 10 8 9
sample(b)
# [1] 9 10
sample(c)
# [1] 8 7 9 3 4 1 6 10 2 5
seq에 대한 입력이 길이 1이면 seq
과 사이 의 출력 seq_along
이 달라집니다.
x <- 5
for(i in seq(x)){
print(x[i])
}
#[1] 5
#[1] NA
#[1] NA
#[1] NA
#[1] NA
for(i in seq_along(x)){
print(x[i])
}
#[1] 5
입력이 날짜 벡터 인 경우에도 차이가 있습니다.
x <- Sys.Date() + 1:5
seq(x)
#Error in seq.Date(x) : 'from' must be of length 1
seq_along(x)
#[1] 1 2 3 4 5
반응형
'ProgramingTip' 카테고리의 다른 글
SQL을 사용하여 postgres 테이블을 완전히 복사 (0) | 2020.11.17 |
---|---|
양식을 만들지 않고 장고에서 필요하지 않은 관리 필드를 만들 수 있습니까? (0) | 2020.11.17 |
Tomcat 웹 앱을 배포 해제 할 때 파일 잠금을 방지하는 방법은 무엇입니까? (0) | 2020.11.17 |
Maven을 사용하여 JAR의 "META-INF / services"폴더에 구성 파일을 포함하는 방법 (0) | 2020.11.17 |
몽구스 연결 오류가 (0) | 2020.11.16 |