R *申请两个向量的组合 问题:

R *申请两个向量的组合 问题:,r,R,我可以使用哪些应用函数从数据转换到结果 资料 您只需要外部和粘贴 start <- "My name is" name.first <- c("John", "Jane") name.last <- c("Doe", "Smith") end <- "and I am a person." as.vector(outer(name.first, name.last, paste)) ## [1] "John Doe" "Jane Doe" "John Smith

我可以使用哪些应用函数从数据转换到结果

资料
您只需要
外部
粘贴

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

as.vector(outer(name.first, name.last, paste))
## [1] "John Doe"   "Jane Doe"   "John Smith" "Jane Smith"

paste("My name is ", as.vector(outer(name.first, name.last, paste)))
## [1] "My name is  John Doe"   "My name is  Jane Doe"   "My name is  John Smith" "My name is  Jane Smith"

paste("My name is ", as.vector(outer(name.first, name.last, paste)), " 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"

as.list(paste("My name is ", as.vector(outer(name.first, name.last, paste)), " and I am a person"))
## [[1]]
## [1] "My name is  John Doe  and I am a person"
## 
## [[2]]
## [1] "My name is  Jane Doe  and I am a person"
## 
## [[3]]
## [1] "My name is  John Smith  and I am a person"
## 
## [[4]]
## [1] "My name is  Jane Smith  and I am a person"
## 

开始您只需要
外部
粘贴

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

as.vector(outer(name.first, name.last, paste))
## [1] "John Doe"   "Jane Doe"   "John Smith" "Jane Smith"

paste("My name is ", as.vector(outer(name.first, name.last, paste)))
## [1] "My name is  John Doe"   "My name is  Jane Doe"   "My name is  John Smith" "My name is  Jane Smith"

paste("My name is ", as.vector(outer(name.first, name.last, paste)), " 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"

as.list(paste("My name is ", as.vector(outer(name.first, name.last, paste)), " and I am a person"))
## [[1]]
## [1] "My name is  John Doe  and I am a person"
## 
## [[2]]
## [1] "My name is  Jane Doe  and I am a person"
## 
## [[3]]
## [1] "My name is  John Smith  and I am a person"
## 
## [[4]]
## [1] "My name is  Jane Smith  and I am a person"
## 

开始感谢您提醒我使用
展开.grid
功能!我以前用它解决过类似的问题,但记不起它的名字。谢谢你提醒我关于
expand.grid
函数的事!我以前用它解决过类似的问题,但记不起它的名字。非常感谢!我不知道外部功能。此外,我还可以通过在outer中使用匿名函数调用一次粘贴,如下所示:
as.vector(outer(name.first,name.last,function(x,y,start,end)paste(start,x,y,end),start,end))
非常感谢!我不知道外部功能。此外,我还可以通过在outer中使用匿名函数调用一次粘贴来完成此操作,如:
as.vector(outer(name.first,name.last,function(x,y,start,end)paste(start,x,y,end),start,end))
> 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."
start <- "My name is"
name.first <- c("John", "Jane")
name.last <- c("Doe", "Smith")
end <- "and I am a person."

as.vector(outer(name.first, name.last, paste))
## [1] "John Doe"   "Jane Doe"   "John Smith" "Jane Smith"

paste("My name is ", as.vector(outer(name.first, name.last, paste)))
## [1] "My name is  John Doe"   "My name is  Jane Doe"   "My name is  John Smith" "My name is  Jane Smith"

paste("My name is ", as.vector(outer(name.first, name.last, paste)), " 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"

as.list(paste("My name is ", as.vector(outer(name.first, name.last, paste)), " and I am a person"))
## [[1]]
## [1] "My name is  John Doe  and I am a person"
## 
## [[2]]
## [1] "My name is  Jane Doe  and I am a person"
## 
## [[3]]
## [1] "My name is  John Smith  and I am a person"
## 
## [[4]]
## [1] "My name is  Jane Smith  and I am a person"
## 
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."