[英]Column-wise element selection in R
我需要使用存儲在向量中的行索引 dataframe 的 select 元素。 換句話說,我有一個向量或長度等於數據框中的列數,並且該向量包含我需要提取的元素的行號(每列一個元素,按順序)。
我將如何 go 這樣做?
例子:
vec <- c(1,2,1)
df <- data.frame(matrix(1:6, ncol = 3, nrow = 2))
看起來像這樣:
X1 X2 X3
1 1 3 5
2 2 4 6
我需要使用 vec = 1,2,1 的索引來獲取元素 (1,4,5)
我們可以用:
df[cbind(vec, 1:ncol(df))]
#[1] 1 4 5
使用cbind
,我們為df
的子集值創建行和列索引。
cbind(vec, 1:ncol(df))
vec
#[1,] 1 1
#[2,] 2 2
#[3,] 1 3
使用這個矩陣,我們從(第 1 行,第 1 列)、(第 2 行,第 2 列)和第(1,第 3 列)中子集值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.