我想知道以下在R中是否可能?
我想在Data
中添加一个名为task
的新列,其值将由以下语句确定:
- 如果
order
是"sc"
,则对于具有奇数的time
值(* 1,3,...*)的行的task
值是"simple"
,否则是"complex"
。 - 如果
order
是"cs"
,则对于具有奇数的time
值(* 1,3,...*)的行的task
值是"complex"
,否则是"simple"
。
Data = read.table(text="
id order time task
1 sc 1 x
1 sc 2 x
2 cs 1 x
2 cs 2 x
3 sc 1 x
3 sc 2 x
4 cs 1 x
4 cs 2 x
", h= TRUE)
2条答案
按热度按时间ee7vknir1#
您可以使用
ifelse
和time %% 2
来确定奇数或偶数。wvyml7n52#
Darren Tsai的另一个答案很棒!我不确定
ifelse()
的速度是什么样的,我没有太多的使用经验,但这里有一个替代选项:它所做的只是获取与
"simple"
用例的条件匹配的行号(通过which()
),然后再次获取与"complex"
用例的条件匹配的行号。