我有一个 Dataframe ,看起来像这样:
> dput(dfold)
structure(list(Person_id = c(50L, 234L, 555L), Days = c(94L,
102L, 50L), Outocme = c(1L, 1L, 0L)), class = "data.frame", row.names = c(NA,
-3L))
基本上,如果Days
列超过100,我希望将值更改为100。相应的Outcome
应等于0。
另一方面,如果结果已经为0(Days
列是否超过100天并不重要),则Days
列应该正好等于100。
下面是新 Dataframe 的外观:
> dput(dfnew)
structure(list(Person_id = c(50L, 234L, 555L), Days = c(94L,
100L, 100L), Outocme = c(1L, 0L, 0L)), class = "data.frame", row.names = c(NA,
-3L))
3条答案
按热度按时间rbl8hiat1#
下面是一个使用Tidyverse语法的解决方案:
创建于2023-03-23带有reprex v2.0.2
wrrgggsh2#
简单的事情怎么样,分两步来做?
ct2axkht3#
使用
case_when
的方法