【问题标题】:How to add quotations to all columns?如何为所有列添加引号?
【发布时间】:2021-02-18 16:04:11
【问题描述】:

我正在尝试自动为数据框中的所有元素添加引号,而不必明确提供 col 名称。有没有办法可以做到。

我试过了:

x<-iris

for (i in colnames(x)){
  paste0('x$',i)<-paste0('"x$',i,'"')
}

但是得到以下错误:

paste0("x$", i)

我可以为单列执行此操作,但需要整个数据框。

print(x$Species<- paste0('"', x$Species, '"'))

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    这是一种解决方案:

    x <- iris
    
    x[] <- lapply(x, sprintf, fmt = '"%s"')
    
    
      Sepal.Length Sepal.Width Petal.Length Petal.Width  Species
    1        "5.1"       "3.5"        "1.4"       "0.2" "setosa"
    2        "4.9"         "3"        "1.4"       "0.2" "setosa"
    3        "4.7"       "3.2"        "1.3"       "0.2" "setosa"
    4        "4.6"       "3.1"        "1.5"       "0.2" "setosa"
    5          "5"       "3.6"        "1.4"       "0.2" "setosa"
    6        "5.4"       "3.9"        "1.7"       "0.4" "setosa"
    ...
    

    【讨论】:

      【解决方案2】:

      使用内置数据框BOD 我们有以下内容。请注意,它不会覆盖输入,而是产生新的输出。

      replace(BOD, TRUE, lapply(BOD, shQuote, type = "cmd"))
      

      给予:

        Time demand
      1  "1"  "8.3"
      2  "2" "10.3"
      3  "3"   "19"
      4  "4"   "16"
      5  "5" "15.6"
      6  "7" "19.8"
      

      【讨论】:

        猜你喜欢
        • 2020-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多