2017-03-09 104 views
0

這裏更新值是我的數據幀的摘錄:R:在數據幀列

x   y  se 
    4   a  7.146329 
15   a  8.458633 
17   a  9.286849 
11   b  6.700024 
    8   b  4.697962 
12   c  7.884244 
10   c  7.834816 
17   c  7.762385 
12   d  5.910785 
15   d  12.98158 

我需要更新的第一列,以使每個數字將1減去,但僅限於條件和b。也就是說,代替c(4, 15, 17, 11, 8, 12, 10, 17, 12, 15),我會得到c(3, 14, 16, 10, 7, 12, 10, 17, 12, 15)

我嘗試了不同的方法,但沒有任何工作,肯定錯過了一些令人難以置信的簡單!

+2

'DF [DF $ Y%的%C( 「A」, 「B」)中, 「x」] < - DF在%C [DF $ y的%(」 a「,」b「),」x「] - 1' – HubertL

+0

完美,謝謝! –

回答

0

可以在這裏使用ifelse。假設數據幀被命名爲df1

df1$x <- ifelse(df1$y %in% c("a", "b"), df1$x - 1, df1$x)