R:如何在R中为列表参数使用paste()函数?

R:如何在R中为列表参数使用paste()函数?,r,list,paste,quote,R,List,Paste,Quote,我对R中的paste()函数感到困惑 这是我的r代码: paste(cols=list("speed###","dist"), rows=list("speed")) 理想输出应为: cols=list("speed###","dist"), rows=list("speed") 但实际产出是: "speed### speed" "dist speed" 有人能帮我找出并得到理想的输出吗 我将感谢您的回复 谢谢大家! 致以最良好的祝愿 我认为您的代码所发生的是: 您将列表(“速度”、“距

我对R中的
paste()
函数感到困惑

这是我的r代码:

paste(cols=list("speed###","dist"), rows=list("speed"))
理想输出应为:

cols=list("speed###","dist"), rows=list("speed")
但实际产出是:

"speed### speed" "dist speed" 
有人能帮我找出并得到理想的输出吗

我将感谢您的回复

谢谢大家!


致以最良好的祝愿

我认为您的代码所发生的是:

  • 您将
    列表(“速度”、“距离”)和
    列表(“速度”)
    作为参数
    cols
    ,而不是字符串传递,并且粘贴忽略参数名称。此外,列表还转换为字符:
    c(“速度”、“距离”)
    c(“速度”)
  • 由于参数的长度不同,第二个参数被复制(即
    c(“速度”、“距离”)
    c(“速度”、“速度”)
  • 然后,第一个元素被粘贴在一起,第二个元素也被粘贴在一起,用每个粘贴的字符串返回一个向量:
    c(“速度”、“距离速度”)
  • 你为什么需要你所要求的?我的意思是,你计划做.call(矩阵、列表(cols=c(“速度”)、“距离”)、rows=c(“速度”))
    还是什么


    此外,您应该使用
    c
    而不是list。我不明白在这里使用
    list
    的必要性。

    我想你需要
    c
    而不是
    paste
    。您是否需要
    c(cols=list(“速度”、“距离”),rows=list(“速度”)
    list
    而不是
    粘贴
    。“理想输出”应该用实际的R对象来表示。嗨,@akrun。谢谢你的回复。我认为
    c
    是将“速度”、“距离”和“速度”分为
    $col1
    $col2
    $rows
    ,但它没有得到与
    cols=list(“速度”、“距离”)、$rows=list(“速度”)
    完全相同的输出,我错过了一些步骤吗?我没有遵循你的结构。请使用dput显示您想要的内容,列表列表或包含3个元素的单个列表?您可能根本不需要
    列表。R列表不同于您可能使用的其他编程语言。这提出了一个有效的观点。OP可能错误地认为R
    列表类似于Python列表,而Python列表实际上更像向量。非常感谢!我得到了它!