在Windows上的R语言中,有两个函数可以调用系统命令。一方面,可以使用system()(或更新的system2()函数)来执行系统命令。另一方面,也可以使用shell()。在我看来,它们应该做相同的事情。它们之间有什么区别呢?
从文档中可以看出,shell被描述为一个更加用户友好的system包装器。我可以看到它们都有稍微不同的参数,但我真的不明白为什么要称shell更加用户友好。除此之外,我没有发现任何其他的区别,即使执行一些基本代码也得到了相同的结果(除了引号)。
使用其中一个参数的理由是什么,而不使用另一个参数呢?
从文档中可以看出,shell被描述为一个更加用户友好的system包装器。我可以看到它们都有稍微不同的参数,但我真的不明白为什么要称shell更加用户友好。除此之外,我没有发现任何其他的区别,即使执行一些基本代码也得到了相同的结果(除了引号)。
> system('ECHO "test"')
test
> shell('ECHO "test"')
"test"
使用其中一个参数的理由是什么,而不使用另一个参数呢?