R:根据其他字符串变量将列添加到数据框

时间:2018-03-31 14:18:16

标签: r dataframe character add

我有一个带有字符列1(和几个数字列)的数据框。 第1列包含如下ID:BIS12; HK / FF; 310; BIS101; 412 ......

现在我想在数据框中添加一个因子列,以便在两组中对这些ID进行排序。我想要一些像#34;如果一个数字" - > 0; "如果它包含' BIS'" - > 1.

任何人都可以帮我吗?我发现了一些用于排序数字或寻找已定义字符串的解决方案,但没有一般的......

感谢您的每一个提示!

1 个答案:

答案 0 :(得分:1)

不是100%确定这是你正在寻找的,但这就是我用data.frame解决这个问题的方法。首先,我将为常见情况定义我想要的默认值,然后我会编写一些规则来更新例外情况,例如:国际清算银行,或数字。

# sample data
dt <- data.frame(V1 =c("BIS12", "HK/FF", "310"), stringsAsFactors = FALSE)

# default is not a number, and not BIS e.g. 2
dt$classifier <- 2

# numbers: 0, bis: 1
dt$classifier[!is.na(as.integer(dt$V1))] <- 0

# BIS
dt$classifier[grepl("BIS", dt$V1)] <- 1

# result
dt

这有用吗?

最佳, 强尼