私は以下のような引数を持つ関数を書き込もうとしています:
myfunction<-function(id){
print(paste(id, ".", "csv", sep=""))
}
id値がこの009の場合、009.csvではなく9.csvとして出力されます。
私はこれを試しました:
id<-as.character(id)
これは機能していません。助言がありますか?
私は以下のような引数を持つ関数を書き込もうとしています:
myfunction<-function(id){
print(paste(id, ".", "csv", sep=""))
}
id値がこの009の場合、009.csvではなく9.csvとして出力されます。
私はこれを試しました:
id<-as.character(id)
これは機能していません。助言がありますか?
例を使用してくださいsprintf()
:
myfunction <- function(id) {
sprintf("%03d.csv", id)
}
これは
R> cat(myfunction(9), "\n")
009.csv
R> cat(myfunction(199), "\n")
199.csv
R>
あなたはすでに@Dirkの答えを受け入れましたが...
問題は、入力を数値として渡すことです。Rの場合、次のように009
評価され9
ます。
> 009
[1] 9
したがって、実行するmyfunction(009)
と、実際に実行されmyfunction(9)
ます。出力として「9.csv」が表示されるのは当然のことです。
代わりに、入力を文字として渡す必要があります: "009":
> myfunction("009")
[1] "009.csv"