我有一個這樣的資料框架:
我有一個這樣的資料框架。
name number
A287
B1390
C1595
D369
我想得到一個這樣的數字資料矩陣:
我想得到一個這樣的數字資料矩陣。
287 369
1390 1595
用這個序列:
A D
B C
這意味著A和B在左列,D和C在右列。順序是很重要的。 我怎樣才能只用我想要的序列來制作數字矩陣?謝謝你!
uj5u.com熱心網友回復:
我們可以排序"數字 "列,并用matrix
matrix(sort(df1$number)。 2, 2。 byrow = TRUE)
輸出
[。 1] [,2]
[1,] 287 369
[2,] 1390 1595
或者,如果需要基于 "名稱 "列
library(dplyr)
library(tidyr)
library(data.table)
df1 %>%
mutate(grp = 1 ! 名稱 %in% c("A", "D")。 rn = rowid(grp),
name = NULL) %>%
pivot_wider(names_from = rn, values_from = number) %> %
select(-grp) %> %
as.matrix
輸出
1 2
[1,] /span> 287 369
[2,] 1390 1595
data
df1 < -結構(list(name = c("A"/span>。 "B"/span>。 "C", "D")。 數 = c(287L,
1390L, 1595L。 369L))。 class = "data. frame",行。 names = c(NA,)
-4L))
uj5u.com熱心網友回復:
以下也是一種選擇。
library(dplyr)
df %>%
filter(name %in% c('A', 'B') %> %
bind_cols(filter(df, name %in% c('C'/span>, 'D')) %> %
select(where(~is.integer(. )) %>%。
as.matrix() %>%
unname()
# [,1] [,2]
# [1,] 287 1595
# [2,] 1390 369
資料
df < -結構(list(name = c("A"/span>。 "B"/span>。 "C", "D")。 數 = c(287L,
1390L, 1595L。 369L))。 class = "data. frame",行。 names = c(NA,)
-4L))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/306880.html
標籤:
上一篇:如何在geom_link中根據xend和x值的差異來排列路徑?
下一篇:嵌入多次添加同一行
