在R中有条件地命名值

时间:2015-02-24 21:10:10

标签: r

这里有关于有条件地为向量中的值分配名称的快速问题。我在R中有一个简单的向量,有九个值(平均温度),我希望根据一个值是否大于或小于65来指定一个字符向量。如果该值小于65,我想分配将HDD作为行名称(或列名称)的值,如果值大于65,我想将CDD赋值给该值。

x <- c(44.3, 49.3, 52.5, 46.2, 35.19, 67.4, 79.4, 13.4, 54.3) 

以下是我一直在尝试此代码的一些变体,但我还没有得到任何结果。我也尝试了几个循环,但那些不是我的强项(新的编码器)。

 x.rownames <- ifelse(x<65,(row.names(x) = "HDD"),(row.names(x) = "CDD"))

我一直收到错误:

Error in `rownames<-`(x, value) : 
  attempt to set 'rownames' on an object with no dimensions

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:1)

您只是对R语法感到困惑

names(x) <- ifelse(x<65,(names(x) = "HDD"),(names(x) = "CDD"))

X是一个向量,而不是DF,因此它没有行名。 R确实支持命名向量,因此您可以将名称设置为名称(x)