繁体   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