2017-05-09 13 views
-1

を作成します:行はハウスと等しく、次にX2を開始した場合R - 私は、次のデータフレーム持つ新しい列

X1  X2 
House-US House 
House-FR House 
FR-FR Ia 
US-US Ia 
FR-US Ir 

:私は、このような、第2列を作成したいと思います

X1 
House-US 
House-FR 
FR-FR 
US-US 
FR-US 

をハウス、行が右(FR-FR)と等しい場合、X2はIaに等しく、Else X2はIrに等しい。

解決策はありますか?

答えて

2

これは動作します:

library(data.table) 
setDT(dt) 
splitdf <- dt[, X1] %>% strsplit("-") %>% unlist %>% 
    matrix(ncol = 2, byrow = T) %>% data.frame(stringsAsFactors = FALSE) 
names(splitdf) <- c("L", "R") 
dt$X2 <- ifelse(splitdf[, "L"] == "House", "House", 
       ifelse(splitdf[, "L"] == splitdf[, "R"], "Ia", "Ir")) 
最後に
+1

私が何か行っている: 'LEFT_RIGHT <-data.frame(str_split_fixed(as.character(DTます$ X1)、 " - "、2))LEFT_RIGHT $ FLOW_CAT <を-ifelse(left_right $ x1)== "Dom"、 "Dom"、ifelse(as.character(left_right $ x1)== as.character(left_right $ x2)、 "Intra"、 "Inter")) – MVachelard

関連する問題