我想从R数据帧中的特定列中排除所有行的公共前缀。我的意见:
chr
chr1
chr2
chr3
chr4
我的预期输出:
chr
1
2
3
4
答案 0 :(得分:2)
使用gsub
:
x <- c("chr1", "chr2", "chr3", "chr4")
gsub("chr", "", x)
# [1] "1" "2" "3" "4"
您也可以考虑substring
功能。
substring(x, 4, nchar(x))
# [1] "1" "2" "3" "4"
答案 1 :(得分:2)
如果这些是因素,那么您需要更改“级别”名称,而不是处理项目值:
chrdf <- read.table(text="chr1
chr2
chr3
chr4", col.names="chr")
chrdf
#--------
chr
1 chr1
2 chr2
3 chr3
4 chr4
levels(chrdf$chr) <- gsub("chr", "", levels(chrdf$chr) )
chrdf
chr
1 1
2 2
3 3
4 4
'factor'变量类型是许多人的难关。我可以证明这种困难持续了很长一段时间。我没有问过很多问题,但是我提出过的一个问题得到了很多其他同样困惑的人(也许更聪明的人只会感到困惑和同情)SO读者。