当前位置: 首页 > 知识库问答 >
问题:

R为什么以及如何区分文件名的两种结构?

蒋茂材
2023-03-14

我正在尝试动态地为需要读入R的文件创建名称。我得到了意想不到的结果,因为我构造文件名的两种方法产生了不同的结果,尽管包含文件名的字符向量似乎是相同的,但R对它们的处理是不同的。

你能帮我理解这是为什么吗?我应该如何在R中创建(动态)文件名?

phe_num <- 1
cross_num <- 1
chr_num <- 1
pfn <- paste0("pred_ukb_pheno", 
                   phe_num, 
                   "_fold", 
                   cross_num, 
                   "_chr", 
                   chr_num, 
                   "_best.dblsmm.txt.profile")
profile_fn <- file.path("/net/mulan/home/fredboe/research/ukb-intervals/dat", "simulations-ding", "DBSLMM", pfn)
file.exists(profile_fn)
#> [1] FALSE
profile_fn
#> [1] "/net/mulan/home/fredboe/research/ukb-intervals/dat/simulations-ding/DBSLMM/pred_ukb_pheno1_fold1_chr1_best.dblsmm.txt.profile"
my_file <- "/net/mulan/home/fredboe/research/ukb-intervals/dat/simulations-ding/DBSLMM/pred_ukb_pheno1_fold1_chr1_best.dbslmm.txt.profile"
file.exists(my_file)
#> [1] TRUE
my_file == profile_fn
#> [1] FALSE

创建于 2022-06-20 由 reprex 软件包 (v2.0.1)

我用的是Ubuntu 22.04操作系统上的R 4.2.0。

共有1个答案

端木存
2023-03-14

你的提示是

my_file == profile_fn
#> [1] FALSE

这让你知道为什么一个有效,另一个无效。他们毕竟不同!。

一点点的目测揭示了

>  substr(my_file, 108, 113)
[1] "dbslmm"
>  substr(profile_fn, 108, 113)
[1] "dblsmm"
>

所以你有一个简单的错别字为< code>ls!= sl。

我们都去过那里。计算机是确定性的,“照我说的做”而不是“照我的意思做”。

 类似资料:
  • 下面是我的pyspark代码: 现在,如果我尝试加载以下文件,该文件大得多,有1391578行: 我得到一个8的分区。 我的问题是如何强制第一个CSV以与较大文件相同的方式进行分区。我知道可以使用重新分区,但我很想知道这是否可以在没有任何洗牌的情况下完成?而且即使我们重新划分它,它似乎创建了一个有3个任务而不是8个任务的作业。

  • 问题内容: 根据Go参考,有两种声明变量的方法 Variable_declarations(以或的格式) 和 Short_variable_declarations(以的格式) 我发现决定使用哪个非常令人困惑。 我知道的区别(到现在为止)是: 我只能在功能范围内使用格式。 可以 在 多变量short声明中 重新 声明 。 但是 据我所知, 它们的行为确实一样。并且在参考文献中还说: 它(方式)是带

  • 我正在查看的源代码,在api文件夹中有一个文件,内容如下: 我听说这个文件是打字稿类型定义。这是什么?为什么需要它?

  • 问题内容: PHP 5.3提供了匿名函数。 我应该使用它们还是避免使用它们?如果是这样,怎么办? 编辑 ; 刚刚发现了一些与php匿名函数有关的妙招… 问题答案: 当使用需要回调函数的函数(例如或做)时,匿名函数非常有用: 否则,您将需要定义一个只能使用一次的函数:

  • 问题内容: 我试图在Web应用程序中验证公司名称,并且使用此正则表达式模式 上述模式将拒绝值 10004 Estates Limited 但是如果我提出0-9,那么模式变成 然后就可以了。正则表达式和模式是新手,但我知道我应该使用更多它,因此我想对此进行澄清。谢谢。 问题答案: 是字符类中的一个特殊字符,因此是歧义的,可能会赋予和和含义,因此本质上是字符。 要在字符类中包含连字符减号,您必须将其转

  • 这个答案几乎描述了问题的前半部分。 上面写着: 看过“四人帮”的定义后,我不相信这有什么真正的区别。(为方便起见包括在内) 装饰器:允许对对象进行动态包装,以便修改它们现有的职责和行为 责任链:通过将接收对象链接在一起,使多个对象有机会处理请求 维基百科对它们做了一些补充,但有些是武断的。 > 装饰器通常作为链表实现。但我认为这太低了,不能被认为是模式的“一部分”。 责任链只处理数据,如果这是他们