我有一个.txt文件夹。每个.txt文件中的一列称为“行”。 (这很令人困惑,我很抱歉。)“行”列包含值A到H.
我正在尝试编写一些可以在每个.txt文件中运行的内容,以检查文件中是否存在来自A到H的所有值。我希望这个函数告诉我哪个.txt文件不完整(缺少一些值)。我不必知道它丢失了什么......我只需要知道哪个.txt文件没有从A到H的所有值。
有办法做到这一点吗?
提前谢谢〜
修改
以下是我正在使用的数据示例。这是来自数据帧列表中的第一个数据帧。所以这是在我已经将每个.txt文件放入数据框之后。
row col TOF EXT time green yellow red worm call50 norm.red stage
1 A 1 20 20 0 2 0 0 1.922668e-02 bubble 0.000000000 L1
2 A 1 32 45 358 6 6 3 9.637690e-01 worm 0.093750000 L1
3 A 1 24 30 1185 6 1 0 2.246214e-02 bubble 0.000000000 L1
4 A 1 139 230 2433 39 49 31 1.000000e+00 worm 0.223021583 L2
5 A 1 27 23 2433 3 4 2 8.262885e-01 worm 0.074074074 L1
6 A 1 24 25 3946 3 4 3 9.077824e-01 worm 0.125000000 L1
7 A 2 40 55 0 30 46 29 1.000000e+00 worm 0.725000000 L1
8 A 2 31 34 2793 3 2 0 1.100591e-01 bubble 0.000000000 L1
9 A 3 37 42 0 8 9 5 9.996614e-01 worm 0.135135135 L1
10 A 3 89 172 562 28 38 20 1.000000e+00 worm 0.224719101 L1
...
648 B 1 124 160 0 11 8 4 9.999695e-01 worm 0.032258065 L2
649 B 1 125 211 47 13 11 4 9.999610e-01 worm 0.032000000 L2
650 B 1 65 112 141 6 4 3 9.404593e-01 worm 0.046153846 L1
答案 0 :(得分:0)
尝试:
ldf <- list(df1 = data.frame(row=LETTERS[1:8],col=1:8), df1 = data.frame(row=LETTERS[1:7],col=1:7))
> ldf
$df1
row col
1 A 1
2 B 2
3 C 3
4 D 4
5 E 5
6 F 6
7 G 7
8 H 8
$df1
row col
1 A 1
2 B 2
3 C 3
4 D 4
5 E 5
6 F 6
7 G 7
> lapply(ldf, function(x) sum(LETTERS[1:8] %in% x$row)!=8)
$df1
[1] FALSE
$df1
[1] TRUE
<强>构建强>
也可以使用:names(ldf) <- c("file1.txt", "file2.txt")
$file1.txt
[1] FALSE
$file2.txt
[1] TRUE
<强>更新强>
更好的方法是:
lapply(ldf, function(x) all(LETTERS[1:8] %in% x$row) & all(1:8 %in% x$col))
$file1.txt
[1] TRUE
$file2.txt
[1] FALSE