2

質問

データから結果に移動するために使用できる適用関数はどれですか?

データ

start      <- "My name is"
name.first <- c("John","Jane")
name.last  <- c("Doe","Smith")
end        <- "and I am a person."

望ましい結果

result.1 <- c("My name is John Doe and I am a person",
              "My name is Jane Doe and I am a person",
              "My name is John Smith and I am a person",
              "My name is Jane Smith and I am a person")

result.2 <- as.list(desired.1)

私の微かな試み...

mapplyはここでトリックを行うと思ったが、私が望む4つではなく、2つの出力しか生成しない.

> mapply(function(x,y, start, end) paste(start, x, y, end, sep = " "),
+        name.first, 
+        name.last, 
+        MoreArgs = list(start, end),
+        USE.NAMES = FALSE)
[1] "My name is John Doe and I am a person."  
[2] "My name is Jane Smith and I am a person."
4

2 に答える 2

2
paste( start = "My name is",
        apply( expand.grid(name.first = c("John","Jane"),
                           name.last  = c("Doe","Smith"), 
                           stringsAsFactors=FALSE),
               1, paste, collapse=" "),
        end  = "and I am a person.")

[1] "My name is John Doe and I am a person."   "My name is Jane Doe and I am a person."  
[3] "My name is John Smith and I am a person." "My name is Jane Smith and I am a person."
于 2013-04-10T04:59:06.770 に答える