R:apply和nchar with if condition

时间:2015-06-24 23:20:49

标签: r function if-statement apply

如果在数据帧的列中有任何长度超过9个字符的字符串,我正在尝试为我的数据编写测试。

使用apply时,我对如何将nchar作为带有if语句的函数运行感到困惑。我认为会是这样的:

apply(df$a, 2, function(x) if nchar(x>9), nchar(x))

但是我收到错误:......中的意外符号

我在这里缺少什么?

1 个答案:

答案 0 :(得分:6)

对于单个列,测试是否有任何超过9的字符串

{
  'DateTime Entered' : [ 14, ''],
  'User ID' : [11, ''],
  'Comments' : [ 255, '']
}

如果您想检查每一栏

={MAX(ArrayFormula(IFERROR(B2:B*D2:D/E2:E)));ArrayFormula(IFERROR(B2:B*D2:D/E2:E))}

如果要查看单个列的行

any(nchar(df$a) > 9)

测试数据:

sapply(df, function(x) any(nchar(x) > 9))