r - 如何计算文件中行的频率
问题描述
我有以下 txt 文件:
Test-case: 1 --------------------
int int0 = (-1790);
String string0 = "14_d4BWMJqn";
MethodVisitor methodVisitor0 = mock(MethodVisitor.class, new ViolatedAssumptionAnswer());
MethodAdapter methodAdapter0 = new MethodAdapter(methodVisitor0);
int int1 = 4073;
Label label0 = new Label();
methodAdapter0.visitLabel(label0);
String string1 = "H*";
String string2 = "5^?5P\"#V\"c<_yB";
methodAdapter0.visitFieldInsn(int1, string0, string1, string2);
LocalVariablesSorter localVariablesSorter0 = new LocalVariablesSorter(int0, string0, methodAdapter0);
localVariablesSorter0.visitVarInsn(int0, int0);
Attribute attribute0 = mock(Attribute.class, new ViolatedAssumptionAnswer());
methodAdapter0.visitAttribute(attribute0);
int int2 = (-2549);
int int3 = 4149;
localVariablesSorter0.visitVarInsn(int2, int3);
int int0 = (-1790);
localVariablesSorter0.visitMaxs(int2, int2);
我想计算文本文件中每行出现的次数(文件中每行的出现次数)。要做到这一点:
con = file("/home/adam/Desktop/Trash/qwe.txt", "r")
lines <- readLines(con)
data_per_class1 <- data.frame(Statement = NA, Freq = NA)
x <- 1
for(i in 1:length(lines)){
frq <- length(grep(lines[i], lines))
data_per_class1[x,] <- c(lines[i], frq)
x <- x + 1
}
print(data_per_class1)
close(con)
我得到的结果是:
结果是错误的。每条线的频率至少应为 1。此外,有一条线的频率为 2,int int0 = (-1790);
但它的频率为零。我认为这个问题grep(lines[i], lines)
你能帮忙解决这个问题吗?
解决方案
您可以使用table()
lines <- readLines(con)
out <- data.frame(table(lines))
# sort to match original order
out <- out[match(lines,out$lines),]
推荐阅读
- java - 如何将地图 api 密钥存储在 local.properties 中并在 AndroidManifest.xml 中使用
- python - 如何使用 Python 更新方法更改 Google Cloud 实例类型
- nginx - 使 nginx 根据自定义变量选择服务器块
- java - 为什么 PriorityQueue 在 Java 中不按数字排序?
- unicode - 为什么字符可以转换为字节
- c++ - Visual Studio 2019 中的多行注释缩进格式
- angular - 找不到角度页面 404 approutes const
- excel - 使用excel在图表中画一个圆圈
- docker-compose - 带有冒号错误的 Docker-compose 卷路径:格式不正确,应为外部:内部 [:模式]
- javascript - 这些文件都不存在