如何获得变量的长度。我试图得到因子的最后一个字符,但内容的宽度/长度是可变的。
我试图做这样的事情:
newvariable< - substr(oldvariable,length(oldvariable)-1,length(oldvariable))
答案 0 :(得分:5)
我不是100%肯定我得到了这个问题......但我想你需要的是nchar
len <- nchar(variable)
答案 1 :(得分:3)
newvariable <- factor(substr(as.character(oldvariable),nchar(as.character(oldvariable)),nchar(as.character(oldvariable))))
另一个:
k <- levels(oldvariable)[oldvariable]
newvariable <- factor(substr(k,nchar(k),nchar(k)))
答案 2 :(得分:0)
我也不是100%肯定你想要这个问题。我猜你有一个带有因子列的数据集,你想要将因子水平截断到每个级别的最后一个字母。
#gather the current levels, we'll call it 'lev'
lev<-levels(oldvariable)
#use substr and char on 'lev' to get the last letter of each level
newvariable<-substr(lev, nchar(lev), nchar(lev))
#reset the levels on the 'oldvariable' to the last letter using the results in 'newvariable'
levels(oldvariable)<-newvariable
答案 3 :(得分:-1)
这是什么语言?
尝试:
对(oldvariable,1)
或者
newvariable&lt; - substr(oldvariable,length(oldvariable)-1)