R에 매우 기본적인 IF 문을 쓰려고합니다. 같은 문제가있는 사람을 찾을 수있을 거라 생각했는데 죄송합니다. 이전에 해결 되었으면 죄송합니다.R : IF 객체가 TRUE 인 경우 객체를 할당하지 않음
변수/개체가 할당되었는지 확인하고 싶습니다. IF TRUE R 패키지의 일부인 함수를 실행하고 싶습니다. 우선은
FileAssignment <- function(x){
if(exists("x")==TRUE){
print("yes!")
x <- parse.vdjtools(x)
} else { print("Nope!")}
}
가 나는 기능을 실행
FILENAME <- "FILENAME.txt"
X로 파일 이름을 지정 쓴
FileAssignment(FILENAME)
내가 인쇄를 사용 ("예!") 및 인쇄 ("아니!" IF 문이 제대로 작동하는지 확인하십시오. 그러나 parse.vdjtools(x)
부분은 할당되지 않습니다. 이제 함수 밖에서 동일한 IF 문을 테스트했습니다.
if(exists("FILENAME1")==TRUE){
FILENAME1 <- parse.vdjtools(FILENAME1)
}
이 방법이 효과적입니다. 함수는 {}
을 사용하고 if 문도 사용하기 때문에 here이라고 읽습니다. 그래서 if 문에서 대괄호를 제거해야합니다.
FileAssignment <- function(x){
if(exists("x")==TRUE)
x <- parse.vdjtools(x)
else { print("Nope!")
}
작동하지 않았습니다.
특정 parse.vdjtools(x)
함수와 관련이 있다고 생각하여 방금 x <- 20
인 x에 정상 값을 할당하려고했습니다. 또한 함수 내부에서 작동하지 않았지만 외부에서는 수행합니다.
측면 포인트
x
에 할당 될 수 있고, 좀 봐 '? missing' 대안'존재하도록()'이 경우이다. –실제로 무엇을 성취하려고하는지 완전히 명확하지 않습니다. 여하튼, 부작용으로 논리적 객체를 'TRUE'에 대해 테스트하는 것은 의미가 없습니다. '== TRUE' 부분을 제거하면 무의미합니다. –