【发布时间】:2018-10-13 16:34:27
【问题描述】:
所以我有一个数据框my_df如下
my_df <- data.frame(c("0600", "0602", "0603"))
现在我需要编写 ifelse 语句来计算另外 3 个变量并将其附加到一个新的数据帧中。
我不知道如何在循环中添加多个可执行语句并将计算的变量附加到新的数据框。
下面是我的ifelse 语句代码。
with(my_df, ifelse(my_df$H == "0600",{d$D <- 1+1 & d$c <- "0600"},
ifelse(my_df$H == "0602",{d$D <- 2+1 & d$c <- "0602"},
{ d$D <- 3+1 & d$c <- "0603"}
)))
我可以在ifloop 内仅使用一个可执行代码将值附加到新数据帧,即如果我只有{d$D <- 1+1},它可以完美运行,但当我有多个要执行的语句时会失败。
我的输出数据框应该如下图,
D C
2 0600
3 0602
4 0603
【问题讨论】:
-
ifelse()是一个函数。 ...并且您没有保存函数的结果。 -
@jogo 是的,我知道。那么你会建议我做哪些改变才能让它发挥作用呢?
-
仅供参考,当您使用
with(df,...)时,您不需要重新调用 df 来调用其变量,即with(df, ifelse(H == ...))...
标签: r if-statement dataframe dplyr