R 将列与添加的记号连接起来。

问题描述 投票:1回答:1

我试图从一个数据框架中选择几列,然后将它们输出到一个excel文件中。 对于最后一列,我想将几列连在一起,并在其间添加符号。

data %>%
  select(Place = place, Time = time, Number = paste(number_2, "(", number_1, 
                                              ",", number_3, ")")) %>%
  openxlsx::write.xlsx(file = here("data"))

我得到的错误信息是

object not found

如果我加入了数据框架

data %>%
  select(Place = place, Time = time, Number = paste(data$number_2, "(", data$number_1, 
                                              ",", data$number_3, ")")) %>%
  openxlsx::write.xlsx(file = here("data"))

我得到以下错误信息

不能子集到不存在的列。

数据样本如下

Place   Time    Number 2    Number 1    Number 3
R1  T1  .5  .4  .7
R2  T1  .2  .1  .3
R1  T2  .4  .3  .6
R2  T2  .3  .2  .4

谢谢你的帮助

r concatenation tidyr paste
1个回答
0
投票

你正试图访问名为 number_2 等,但这些列在你发布的样本数据中并不存在。

你需要使用正确的列名。`Number 2`.

data %>%
  select(
    Place = place,
    Time = time,
    Number = paste(`Number 2`, "(", `Number 1`, ",", `Number 3`, ")")
  ) %>%
  openxlsx::write.xlsx(file = here("data"))

请注意 后招(`)左右所需 "非同义词名称 在R代码中(在你的情况下,因为你的列名包含空格,这在语法上是无效的)。

© www.soinside.com 2019 - 2024. All rights reserved.