簡體   English   中英

如何在R中將向量拆分為兩個向量

[英]How to split a vector into two vectors in R

經過一個函數,我把矩陣作為一個向量返回

例;

  [1] "M.                                "     "Mueller                                  "
  [3] "C.                                "     "Mueller                                  "
  [5] "L.                                "     "Mueller                                  "
  [7] "U.                                "     "Mueller                                  "
  [9] "D.                                "     "Mueller                                  ",

現在,我想將其拆分為2個向量,一個包含所有“ Mueller”的向量,另一個包含M.,C的向量。 等等

提前致謝! 編輯:我得到拆分有點奇怪的結果

test1<-split(test, c(1,2))
vorname<-test1[[1]]

structure(c("M.                                ", "C.                               ", 
"L.                             ", "U.                                ", 

    ..), .Names = c("1.vorname", "2.vorname", "3.vorname", "4.vorname", 
    "5.vorname", "6.vorname", "7.vorname", "8.vorname", "9.vorname", 

vorname是列1的名稱

編輯2:

structure(list(vorname = structure(c(48L, 48L, 38L, 65L, 73L, 
67L, 17L, 75L, 39L, 61L), .Label = c("Adrian                               ", 
"Andrea                               ", "Andreas                              ", 
"Angela                               ", "Anna Lena                            ", 
"AnnaElisabeth                        ", "AnnaSarah                            ", 
"Beate                                ", "Bernd                                ", 
"Birgit                               ", "BrunoHeribert                        ", 
"Carina                               ", "Carolin                              ", 
"Chris Joachim                        ", "Christa                              ", 
"Christian                            ", "Christopher                          ", 
"Cornelia                             ", "Daniel Markus                        ", 
"DavidBenjamin                        ", "Dennis                               ", 
"Elena                                ", "Elisabeth                            ", 
"Erhard                               ", "Frieder                              ", 
"Friederike                           ", "HansJörg                             ", 
"Harald                               ", "Heike                                ", 
"Heinz                                ", "Ilka                                 ", 
"Jan                                  ", "Janina                               ", 
"Janine                               ", "Jessica Louise                       ", 
"JörgHenning                          ", "Jürgen                               ", 
"Karin                                ", "Karl Heinz                           ", 
"Katharina                            ", "Kathrin                              ", 
"Katja                                ", "KlausDieter                          ", 
"Ljubow                               ", "Luise                                ", 
"Lutz                                 ", "Mandy                                ", 
"Marco                                ", "Marius                               ", 
"Mattea                               ", "Matthias                             ", 
"Maurice                              ", "Maximilian                           ", 
"Melanie                              ", "Melissa                              ", 
"Michael                              ", "Miriam                               ", 
"Norbert                              ", "Oliver                               ", 
"Peer                                 ", "Peggy                                ", 
"RalfMichael                          ", "Rebekka                              ", 
"Regina                               ", "Rolf                                 ", 
"Rosalinde                            ", "Sandra                               ", 
"Silvia                               ", "Stefan                               ", 
"Stefanie                             ", "Stephan                              ", 
"Susan                                ", "Svitlana                             ", 
"SwaantjeCathrin                      ", "Thomas                               ", 
"Tino                                 ", "UdoHeinz                             ", 
"Ulrike                               ", "Uwe                                  ", 
"Viktoria                             "), class = "factor"), 
    nachname = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L), .Label = "Müller                                  ", class = "factor")), .Names = c("vorname", 
"nachname"), row.names = c(NA, 10L), class = "data.frame")

您的問題包括可以使用的便捷功能: split

> split(myvec, c(1,2))
$`1`
[1] "M.                                " "C.                                "
[3] "L.                                " "U.                                "
[5] "D.                                "

$`2`
[1] "Mueller                                  " "Mueller                                  "
[3] "Mueller                                  " "Mueller                                  "
[5] "Mueller                                  "

上面將創建兩個向量的列表。 另外,您可以使用“回收”和邏輯向量將其分配給新向量:

> (vec1 <- myvec[c(TRUE, FALSE)])
[1] "M.                                " "C.                                "
[3] "L.                                " "U.                                "
[5] "D.                                "
> (vec2 <- myvec[c(FALSE, TRUE)])
[1] "Mueller                                  " "Mueller                                  "
[3] "Mueller                                  " "Mueller                                  "
[5] "Mueller                                  "

注意: 此答案假定您的數據是成對的。

您可以將其轉換為矩陣:

v <- as.character(1:10)
m <- matrix(v, ncol=2, byrow=TRUE)
v1 <- m[,1]
v2 <- m[,2]

> v
 [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10"

> m
     [,1] [,2]
[1,] "1"  "2" 
[2,] "3"  "4" 
[3,] "5"  "6" 
[4,] "7"  "8" 
[5,] "9"  "10"

> v1
[1] "1" "3" "5" "7" "9"

> v2
[1] "2"  "4"  "6"  "8"  "10"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM