我想显示所有级别,其长度(如 character
)不等于3个符号 .
以下代码返回每行 dt$col
的长度:
with(dt, nchar(as.character(dt$col)))
但是如果我将 levels(dt$col)
作为第一个参数传递,则会因以下错误而失败:
eval中的错误(substitute(expr),data,enclos = parent.frame()):'character'类型的'envir'参数无效
如何计算每个级别的长度?如何仅显示错误长度的级别?
3 回答
首先,使用您的因子级别创建一个新对象(使用来自DatamineR的答案的数据,除了 NOT ,使用
factor
作为列名称):然后对不是三个字符长的级别进行子集化:
如果您使用的是
with
,则不应使用dt$
,您可以直接引用列名称 .一些方法可以在一行中完成: