【发布时间】:2014-02-11 13:24:32
【问题描述】:
我有一个包含 10 个变量的数据框,这显然存在一些数据问题。例如,说 column1 不应该大于 column2,但是在数据中我们有一些违反这一点的条目。所以,我们假设如果column1>column2,将column1中的值替换为column2中对应的值。
现在我想将 col1,col3,col4 与 col2 进行比较,并将与上述相同的逻辑应用于所有列。
我在 R 中使用了ifelse 函数,比如
data$col1 <- ifelse (data$col1>data$col2,data$col2,data$col1)
这很好用。
但是有没有一种方法可以让所有 cols(即 col1、col3 和 col4)都达到相同的效果
立刻?
我认为可以使用lapply 完成,但不太确定如何。
【问题讨论】:
-
您到底想检查什么?
col1>col2, col1>col3, col1>col4还是col1>col2>col3>col4? -
@nico 我想要以下检查: 1. if col1>col2 set value of col1=corresponding value of col 2 else no change 2. if col3>col2 set value of col3=corresponding value of col 2 else 不变 3. if col4>col2 set value of col4=corresponding value of col 2 else no change
标签: r if-statement lapply