获取因子中的值的长度/宽度

时间:2010-06-08 16:49:20

标签: r

如何获得变量的长度。我试图得到因子的最后一个字符,但内容的宽度/长度是可变的。

我试图做这样的事情:

newvariable< - substr(oldvariable,length(oldvariable)-1,length(oldvariable))

4 个答案:

答案 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)