R 在两列中串联每个值
我有两列,我需要说明的值。例如,我有颜色栏黑色、蓝色、红色、紫色、黄色和服装、鞋子、T恤、长衬衫。然后我想要黑色连衣裙、黑色鞋子、黑色T恤、黑色长衬衫、蓝色连衣裙、蓝色鞋子、蓝色T恤等等 我尝试过使用for循环和粘贴函数,但它没有按照我希望的方式工作R 在两列中串联每个值,r,loops,concat,string-concatenation,R,Loops,Concat,String Concatenation,我有两列,我需要说明的值。例如,我有颜色栏黑色、蓝色、红色、紫色、黄色和服装、鞋子、T恤、长衬衫。然后我想要黑色连衣裙、黑色鞋子、黑色T恤、黑色长衬衫、蓝色连衣裙、蓝色鞋子、蓝色T恤等等 我尝试过使用for循环和粘贴函数,但它没有按照我希望的方式工作 A <- colour B <- Clothing for(i in count(A)){ paste( print(A[i]) , for (i in count(B)) {print(B[i])}
A <- colour
B <- Clothing
for(i in count(A)){ paste( print(A[i]) ,
for (i in count(B)) {print(B[i])}
)
}
如果您想要矩阵:
> sapply(A,function(x) paste(x,B))
Black Blue Red Purple Yellow
[1,] "Black Dress" "Blue Dress" "Red Dress" "Purple Dress" "Yellow Dress"
[2,] "Black Shoe" "Blue Shoe" "Red Shoe" "Purple Shoe" "Yellow Shoe"
[3,] "Black T-shirt" "Blue T-shirt" "Red T-shirt" "Purple T-shirt" "Yellow T-shirt"
[4,] "Black Long-shirt" "Blue Long-shirt" "Red Long-shirt" "Purple Long-shirt" "Yellow Long-shirt"
向量:
> as.vector(sapply(A,function(x) paste(x,B)))
[1] "Black Dress" "Black Shoe" "Black T-shirt" "Black Long-shirt" "Blue Dress" "Blue Shoe"
[7] "Blue T-shirt" "Blue Long-shirt" "Red Dress" "Red Shoe" "Red T-shirt" "Red Long-shirt"
[13] "Purple Dress" "Purple Shoe" "Purple T-shirt" "Purple Long-shirt" "Yellow Dress" "Yellow Shoe"
[19] "Yellow T-shirt" "Yellow Long-shirt"
我们可以使用外层空间
或者用purrr的地图
数据
只要用cbindA,B来满足你的需求。或者,根据你的需要,选择A,B。
outer(A, B, FUN = paste)
# [,1] [,2] [,3] [,4]
#[1,] "Black Dress" "Black Shoe" "Black T-shirt" "Black Long-shirt"
#[2,] "Blue Dress" "Blue Shoe" "Blue T-shirt" "Blue Long-shirt"
#[3,] "Red Dress" "Red Shoe" "Red T-shirt" "Red Long-shirt"
#[4,] "Purple Dress" "Purple Shoe" "Purple T-shirt" "Purple Long-shirt"
#[5,] "Yellow Dress" "Yellow Shoe" "Yellow T-shirt" "Yellow Long-shirt"
library(purrr)
map(A, ~ str_c(.x, B, sep= " ")) %>%
flatten_chr
#[1] "Black Dress" "Black Shoe" "Black T-shirt" "Black Long-shirt" "Blue Dress" "Blue Shoe"
#[7] "Blue T-shirt" "Blue Long-shirt" "Red Dress" "Red Shoe" "Red T-shirt" "Red Long-shirt"
#[13] "Purple Dress" "Purple Shoe" "Purple T-shirt" "Purple Long-shirt" "Yellow Dress" "Yellow Shoe"
#[19] "Yellow T-shirt" "Yellow Long-shirt"
A <- c("Black", "Blue", "Red", "Purple", "Yellow")
B <- c("Dress", "Shoe", "T-shirt", "Long-shirt")