此代码中的嵌套if语句工作正常
x <- 4
if(x == 4){
t <- x + 1
if(t == 5){
t + 2
}
}
[1] 7
但是当我在数据框上尝试相同的代码时,没有结果。
mydata_one <- data.frame(words = c("hello", "everyone"))
mydata_two <- data.frame(words = c("my", "name"))
if(length(mydata_one$word) == 2){
big_data <- rbind(mydata_one, mydata_two)
if(length(big_data) > 3){
big_data[1:3, 1]
}
}
我正在寻找的期望值:
[1] hello everyone my
答案 0 :(得分:1)
长度不适用于数据框。使用nrow来获取记录数。
mydata_one <- data.frame(words = c("hello", "everyone"))
mydata_two <- data.frame(words = c("my", "name"))
if(length(mydata_one$word) == 2){
big_data <- rbind(mydata_one, mydata_two)
if(nrow(big_data) > 3){
big_data[1:3, 1]
}
}
<强>输出:强> [1]大家好 级别:每个人都叫我的名字