【问题标题】:Insert comma between characters with R用 R 在字符之间插入逗号
【发布时间】:2020-03-29 19:16:56
【问题描述】:

样本数据:

data <- round(rnorm(10,100000,10000),-1)
char <- as.character(data)

我想在字符之间加逗号:

[1] "104350","108800","101320","94140","102260","89340","114220","105830","111270","85300"

我试过paste()read.table & read.linessep="," 都没有成功。

【问题讨论】:

  • 这是你在cat(paste0('"', paste(char, collapse="\", \""), '"'))之后的样子吗?
  • 就是这样!我花了几个小时在玩!如果您将其发布为答案,我已经准备好接受。
  • 看起来您要求更改 R 显示字符串向量的方式,这与创建包含由列分隔的数字的字符串略有不同。如果您正在寻找后者,那么@rbatt 提供了一个很好的答案。否则,假设您的目标不完全是装饰性的,那么了解您的最终目标将是有益的。
  • 它进入了自动抓取功能。该函数需要这种形式,因为该函数一次需要 1 个字符串。字符串只是 url 的缺失部分......一如既往可能有解决方法,但这对我有用。
  • @Max,这是一个 R 函数吗?形式不寻常。

标签: r


【解决方案1】:

你追求的是美学而不是这个答案的功能:

cat(paste0('"', paste(char, collapse="\", \""), '"'))

## "115030", "118990", "72910", "121050", "93820", "119310", "110370", "100590", "98220", "118200"

存储:

store <- paste0('"', paste(char, collapse="\", \""), '"')

【讨论】:

  • 但是我需要存储输出 :),我尝试过使用 capture.output(),但是那个放的反引号/反引号。
  • 我认为你需要告诉我们你打算用这个字符串做什么,为什么你想要这样,以便我们可以适当地指导。
  • 您可以将其保存为x &lt;- paste0('"', paste(char, collapse="\", \""), '"'); save.image('x')。然后下次打开 R,load('x')
【解决方案2】:

sink函数可用于强制文本输出。

sink('output.txt')

cat(paste0('"', paste(char, collapse="\", \""), '"'))

sink()

【讨论】:

    最近更新 更多