簡體   English   中英

R 中的按列元素選擇

[英]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.

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