簡體   English   中英

刪除向量中除某些索引外的所有值

[英]Delete all values of a vector except certain indexes

我有一個長向量(它的類型是字符)。 我想刪除所有值,除了它們的索引是7倍數。 例如,如果我的向量的長度是100 ,我希望除7, 14, 21,..., 98單元格之外的所有單元格都為空。

欣賞

在 R 中,您可以使用整數或邏輯向量作為索引(或用於命名訪問的字符向量)。

您的問題可以使用以下任一方法解決; 例如,您可以使用seq生成數字 7, 14, ... 的整數向量:

index = seq(7L, length(x), by = 7L)

或者,您可以生成一個邏輯向量,當且僅當相應的整數索引可被 7 整除時才為TRUE

index = seq_along(x) %% 7L == 0L

無論哪種方式,您都可以使用該索引對數據進行子集化:

x[index]

或者,如果您想保留其他值但“清空”它們(但是“空”是什么意思?),您可以為它們分配一個空值:

x[! index] = NA_character_ # or "", or something else.

暫無
暫無

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

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