If else错误语句`条件在R中的长度大于1`?

If else错误语句`条件在R中的长度大于1`?,r,if-statement,R,If Statement,我在另一个后面写一个简单的ifelse语句,我试图将索引分为三组>=0.8,0.8到-0.8,=0.8{:条件的长度大于1,并且只有 将使用第一个元素 我们可以使用ifelse而不是if/else,因为if/else需要一个长度为1的向量,并且对于长度大于1的向量不进行向量化 df$indexclass <- with(df, ifelse(index >= 0.8, "P", ifelse(index <= (-0.8), "A", "S"))) df$i

我在另一个后面写一个简单的ifelse语句,我试图将索引分为三组>=0.8,0.8到-0.8,=0.8{:条件的长度大于1,并且只有 将使用第一个元素

我们可以使用ifelse而不是if/else,因为if/else需要一个长度为1的向量,并且对于长度大于1的向量不进行向量化

df$indexclass  <- with(df, ifelse(index >= 0.8, "P",
        ifelse(index <= (-0.8),  "A", "S")))
df$indexclass
#[1] "P" "S" "S" "S" "A" "A"
我们可以使用ifelse而不是if/else,因为if/else需要一个长度为1的向量,并且对于长度大于1的向量不进行向量化

df$indexclass  <- with(df, ifelse(index >= 0.8, "P",
        ifelse(index <= (-0.8),  "A", "S")))
df$indexclass
#[1] "P" "S" "S" "S" "A" "A"
由于lengthdf$索引大于1,它将向您发出警告。请改用ifelse。由于lengthdf$索引大于1,它将向您发出警告。请改用ifelse。
c("A", "S","P")[with(df,  findInterval(index, c(-0.8, 0.8)))  + 1]
#[1] "P" "S" "S" "S" "A" "A"