2014-09-04 61 views
0

我有這個數據框的列a。我想根據'a'列添加一個不同的列'b'。如何使用if-else條件在R中分配值

有了這個邏輯:如果a> 10,b = double。如果一個< 10,b =單。

我該怎麼辦?

a b 
2 single 
2 single 
4 single 
11 double 
12 double 
12 double 
45 double 
4 single 

回答

3

您可以使用ifelse對具有if語句的向量起作用。

ifelse(a>10, "double", "single") 

所以,你的代碼看起來是這樣的

mydata <- cbind(a, ifelse(a>10, "double", "single")) 

您還沒有指定什麼的情況下= 10做的,所以我把它默認爲單。

+0

你在哪裏設定a = 10的默認值?我應該提到大於或等於10的雙倍。 – maximusyoda 2014-09-04 18:17:37

+2

因爲如果'a = 10',那麼'a> 10'是錯誤的,所以表達式評估爲''單一'。 – 2014-09-04 18:18:30

+0

另外,我在哪裏將它設置爲列名b? *得到它了*。沒關係* – maximusyoda 2014-09-04 18:18:53