首页 > 解决方案 > 连接两列中的每个值

问题描述

我有两列需要联系它们的值。例如,我有颜色(黑色、蓝色、红色、紫色、黄色)和服装(连衣裙、鞋子、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])} 
      )
    }

标签: rloopsconcatstring-concatenation

解决方案


如果你想要一个矩阵:

> 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"

推荐阅读