我不確定標題是否足夠精確以描述我的問題。我有一組數據框1:n
兩組A
和B
和可能的狀態Calm
,Action1
和Action2
。R爲多個條件設置的值創建一個新列
triggers <- c("Action1", "Action2")
df <- data.frame(Set = c(rep(1, 4), rep(2, 4), rep(1, 4)),
Group = c(rep("A", 4), rep("A", 4), rep("B", 4)),
Status = c(rep("Calm",3), "Action1", rep("Calm",3),
"Action2", rep("Calm", 4)))
Set Group Status
1 A Calm
1 A Calm
1 A Calm
1 A Action1
2 A Calm
2 A Calm
2 A Calm
2 A Action2
1 B Calm
1 B Calm
1 B Calm
1 B Calm
基於矢量triggers
我想創建在滿足以下條件的新列。
如果在一組(每個組)的Action1
或Action2
發生比寫入到一個新的列中的狀態Action
也爲Status
Calm
。
新列中的結果應爲c(rep("Action", 8), rep("Calm", 4))
。
我無法解決這個數據框中多重條件的問題。希望有人能幫助我,並原諒我對這個問題的非數學描述。
Awesome-是否也能提供一個data.table解決方案? – Christian
Ahaha,聰明地使用'any':D – Aramis7d
@Christian我不是'data.table'專家。我的'data.table'解決方案不會很好。但是如果你不使用大數據集'dplyr'應該做得很好。 – Alex