基本上,我有一列称为XX$pitch_by_pitch
具有(F,S,B,X,。,*)等值,并且我试图计算此列中有多少个不是句号或星号的字符。
样本:
pitch=data.frame(c(".CX",".BSCBS",".BSBX",".D",".FFB*B."))
names(pitch)[1]="pitch_by_pitch"
pitch$row=row.names(pitch)
pitch$pitch_by_pitch=as.character(pitch$pitch_by_pitch)
pitch$num=nchar(pitch$pitch_by_pitch)
显然,最后一行计算所有字符,但是我想删除句点和星号。
我已经尝试过诸如:
count.slashes <- function(string)sum(unlist(strsplit(string, NULL)) == "*")
within(x, Col2 <- vapply(Col1, count.slashes, 1))
pbp$pitchstar=which(unlist(strsplit(pbp$pitch_by_pitch,NULL)) == '*')
pbp$pitchstar=str_count(pbp$pitch_by_pitch, "*")
pbp$star=length(which(pbp$pitch_by_pitch == '*'))
尝试pitch$num=nchar(gsub("\\*|\\.", "", pitch$pitch_by_pitch))
。
gsub("\\*|\\.", "", pitch$pitch_by_pitch)
删除所有*
或.
在pitch_by_pitch
列。之后计算使用的字符nchar
就足够了:
gsub("\\*|\\.", "", pitch$pitch_by_pitch)
# [1] "CX" "BSCBS" "BSBX" "D" "FFBB"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句