[英]How to print all values in a vector except a vector with a certain name in R?
[英]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.