繁体   English   中英

如何在向量中打印除R中具有特定名称的向量以外的所有值?

[英]How to print all values in a vector except a vector with a certain name in R?

我正在尝试将向量中的所有值打印出来,除了具有特定名称的向量之外。

capital <- c("Prague","Kairo", "Seoul")
names(capital)<-c("Czech","Egypt","Korea")

是我的载体。

我想不使用循环就打印除“韩国”以外的所有内容。 我试过了:

capital[c("Czech","Egypt")] 

产生正确的值,但是我不确定这是否是唯一的方法。

该代码应产生capital[c("Czech","Egypt")]而没有任何循环。 我不确定这是否是唯一的方法,或者是否可以使用if语句产生相同的输出。

这是使用底数R的几个选项。

capital <- c("Prague","Kairo", "Seoul") 
names(capital)<-c("Czech","Egypt","Korea")

capital[which(capital != "Seoul")]

select_caps <- c("Prague","Kairo") 
capital[capital %in% select_caps]

或者,更直接地:

capital[capital %in% c("Prague","Kairo")]

无论哪种方式,您都会

Czech    Egypt 
"Prague"  "Kairo" 

您可以通过多种方式执行此操作。如果您知道要删除"Korea"的名称的索引,则可以使用索引号。

capital <- c("Czech","Egypt","Korea")
capital[-3]

*记住向量索引号从1开始

或者您可以使用逻辑条件

capital <- c("Czech","Egypt","Korea")   
capital[capital != "Korea"]

或使用%in%运算符可以执行相同操作,

capital <- c("Czech","Egypt","Korea")
remove <- c("Egypt", "Korea")
capital[! capital %in% remove]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM