약 일주일 전에 r을 시작했습니다. 내 디렉토리에는 001, 002, ... 010, ... 331이라는 CSV 파일이 있습니다. 아래의 부분 기능에서 사용자는 ID (예 : 1 : 9)를 입력해야합니다. ID는 001, 002, 003, ... 009로 변환됩니다. 그러나 사용자가 id에 대해 1:10이라고 말하면 함수는 id [10]을 "010"대신 "0010"으로 출력합니다. 이로 인해 나머지 기능이 실패하게됩니다. 무슨 일이 벌어 질지에 대한 제안? 1:10을 입력하면 001, 002, 003, 004, 005, 006, 007, 008, 009 및 이 표시됩니다.콜론을 사용하여 함수에서 시퀀스 지정
pollutantmean <- function(directory, pollutant, id) {
if((id>=1) && (id<10)) {
fn <- paste("00",id,sep="")
print(fn)
} else if((id>=10) && (id<=99)) {
fn <- paste("0",id,sep="")
print(fn)
} else {
fn <- id
print(fn)
}
제발 내가 R 적용 기능을 사용하고 싶지 않습니다. 나는 그걸 멀리 얻지 못했다.
'sprintf'를 사용하면 많은 시간을 절약 할 수 있습니다. sprintf ("% 03d", 1 : 10)' – thelatemail
방금 모든 것을'fn <- sprintf ("% 03d", id)'로 바꿨고, 그것은 매력처럼 작동했습니다. 이것은 자바에서'System.out.printf'처럼 보입니다. 하지만 첫 번째 방법이 실패한 이유는 무엇입니까? 나는 그것을 짐작할 수 없다. 그리고 우리는이 매끄러운 sprintf 메소드를 가르쳐주지 않았습니다.이 메소드는 제 첫 번째 메소드가 여전히 약간의 개조와 함께 작동 할 수 있음을 시사합니다. – sedeh