【发布时间】:2012-12-19 11:16:22
【问题描述】:
我的数字串不一定具有相同的长度,例如
0,0,1,2,1,0,0,0
1,1,0,1
2,1,2,0,1,0
我已将这些导入到 R 中的数据框中,例如以上三个字符串将给出以下三行(我称之为df):
我希望编写一些函数来帮助我理解数据。作为起点-给定一个数字向量x-我想要一个“过程”P 来建立包含x 作为子向量的行数,例如如果x = c(2,1) 然后P(x) = 2,如果x = c(0,0,0) 然后P(x) = 1,如果x = c(1,3) 然后P(x) = 0。我有更多类似的问题,但我希望我能够从这个问题中汲取逻辑并自己解决一些其他问题。
【问题讨论】:
-
如果你把它变成一个字符向量并使用正则表达式会怎样?
-
@RomanLuštrik 绝对是要走的路:)
-
@RomanLuštrik 只是一个警告 - 将浮点数转换为 char 可能无法达到预期的效果(舍入问题)。只要 OP 只处理整数,regexp 看起来就是一个很好的解决方案。
-
您可以通过直接匹配数字来避免代价高昂的转换和后续的正则表达式。 outer() 在这里非常有用。
-
但是
outer是个内存大户...
标签: r