2

Rについて2つの質問があります。非常に単純なものがありますが、残念ながらWebで何かを見つけることができません。

  1. fun1<-function(place)引数「place」が私の場合にインポートしたいファイル名になるように、Rで関数を書くことは可能ですか?

    fun1 <- function(place)
    data <- read.table(/home/place.csv, header=TRUE, sep=",")
    
  2. 変数cが、たとえば人の年齢などの数値に割り当てられているとします。次に、次のような文字列を出力します"hello my age is c"。Rでこれをどのように行いますか?

4

2 に答える 2

7
  1. 最初の部分には、、などをsprintf使用できます。paste0

    fun1 <- function(place) read.table(sprintf('/home/%s.csv', place), 
                                       header=TRUE, sep=",")
    
    fun2 <- function(place) read.table(paste0('/home/', place, '.csv'), 
                                       header=TRUE, sep=",") 
    # paste0 only works in recent versions of R
    
    fun3 <- function(place) read.table(paste('/home/', place, '.csv', sep=''),
                                       header=TRUE, sep=",")
    
    # Now call the functions
    fun1('test.csv')
    fun2('test.csv')
    fun3('test.csv')
    
  2. sapplypasteはベクトル化されているため、必要ありません。

    ages <- 10:20
    paste('Hello my name is', ages)
    
于 2012-04-24T19:29:50.010 に答える
2

質問の最初の部分で何を達成しようとしているのかわかりません。それについてさらに説明していただけますか?

2番目の部分については、次のようなものはどうでしょうか。

> ages = c(40, 23, 13, 42, 53)
> sapply(ages, function(x) paste("Hello, my age is", x))
[1] "Hello, my age is 40" "Hello, my age is 23" "Hello, my age is 13" "Hello, my age is 42"
[5] "Hello, my age is 53"
于 2012-04-24T19:04:42.977 に答える