gpt4 book ai didi

r - 带有 cbind 和只有一列的自动列前缀

转载 作者:行者123 更新时间:2023-12-04 12:31:01 29 4
gpt4 key购买 nike

我在使用 cbind 向数据框中添加列的脚本时遇到了一些问题。我通过正则表达式选择这些列,我喜欢 cbind 在添加多于一列时自动提供前缀。如果您只附加一列,这将不起作用......即使我将此列转换为数据框......

有没有办法绕过这种行为?

在我的示例中,它适用于以 a 开头的列,但不适用于 b1 列。

df <- data.frame(a1=c(1,2,3),a2=c(3,4,5),b1=c(6,7,8))

cbind(df, log=log(df[grep('^a', names(df))]))

cbind(df, log=log(df[grep('^b', names(df))]))

cbind(df, log=as.data.frame(log(df[grep('^b', names(df))])))

最佳答案

关于什么

cbw <- c("a","b") # columns beginning with
cbw_pattern <- paste0("^",cbw, collapse = "|")
cbind(df, log=log(df[grep(cbw_pattern, names(df))]))

这样您就可以一次选择两种模式。 (所有三列)。
仅当仅选择一列时,列名将不适合。

关于r - 带有 cbind 和只有一列的自动列前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28578988/

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