gpt4 book ai didi

r - R 中的 VBA "&"相当于什么?

转载 作者:行者123 更新时间:2023-12-03 00:20:13 33 4
gpt4 key购买 nike

在 Excel(和 Excel VBA)中,使用“&”连接文本和变量确实很有帮助:

a = 5
msgbox "The value is: " & a

会给

"The value is: 5"

如何在 R 中执行此操作?我知道有一种方法可以使用“paste”。但是我想知道是否有任何技巧可以像在 Excel VBA 中一样简单地做到这一点。

提前致谢。

最佳答案

This blog post建议定义您自己的连接运算符,这与 VBA(和 Javascript)的连接运算符类似,但它保留了粘贴的功能:

"%+%" <- function(...) paste0(..., sep = "")

"Concatenate hits " %+% "and this."
# [1] "Concatenate hits and this."

不过,我不太喜欢这个解决方案,因为它有点掩盖了 paste 在幕后的作用。例如,您是否直觉地认为会发生这种情况?

"Concatenate this string " %+% "with this vector: " %+% 1:3
# [1] "Concatenate this string with this vector: 1"
# [2] "Concatenate this string with this vector: 2"
# [3] "Concatenate this string with this vector: 3"

例如,在 Javascript 中,这将为您提供将此字符串与此向量连接:1,2,3,这是完全不同的。我不能代表 Excel,但您应该考虑一下这个解决方案对您来说是否更令人困惑而不是有用。

如果你需要类似Javascript的解决方案,你也可以尝试这个:

"%+%" <- function(...) {
dots = list(...)
dots = rapply(dots, paste, collapse = ",")
paste(dots, collapse = "")
}

"Concatenate this string " %+% "with this string."
# [1] "Concatenate this string with this string."

"Concatenate this string " %+% "with this vector: " %+% 1:3
# [1] "Concatenate this string with this vector: 1,2,3"

但我还没有进行广泛的测试,所以请留意意外的结果。

关于r - R 中的 VBA "&"相当于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40037608/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com