【发布时间】:2016-02-10 19:51:54
【问题描述】:
我想根据字符串值的部分匹配添加两列
a <- c("ChrM","ChrM","ChrM","ChrM","ChrM")
b <- c(5,6,7,10,11)
c <- c(0,0,3,0,1)
d <- c(2,1,0,1,0)
dfa <- data.table(a, b, c, d)
colnames(dfa) <- c("ID","pos","cr H-MN-8A","cr H-MN-8B")
#I don't know how to make a column name with a string value (with " " and "_")
ID pos cr H-MN-8A cr H-MN-8B
1 ChrM 5 0 2
2 ChrM 6 0 1
3 ChrM 7 3 0
4 ChrM 10 0 1
5 ChrM 11 1 0
我希望能够根据部分字符串匹配“cr H-MN-8”添加最后两列“cr H-MN-8A”、“cr H-MN-8B”,然后写入结果进入一列,同时还将其与一个值进行比较,因此返回是真或假。 我有类似的东西
dfa <- lapply(dfa, function(x) x[, newval := as.numeric(col1+col2>=1)])
我有两个以上带有标题的字符串匹配项(它们都在同一个数据帧上配对)。有任何想法吗?谢谢!
(不知道是否相关,但我使用的是data.table
【问题讨论】:
-
我会回应这种观点“我觉得有必要补充一点,坚持使用空格的名字似乎很固执。这只会令人讨厌。”stackoverflow.com/questions/30757316/…
-
预期输出是什么
-
@mtoto TRUE 或 FALSE,分别表示为 1 或 0
-
@Pierre Lafortune 这就是我必须使用的 :(
-
我只是注意到它的意义为零。它更类似于
newval := as.numeric(col1+col2>=1)
标签: r string sum data.table match