仅删除单元格中的日期

时间:2017-04-08 20:09:05

标签: r whitespace

我要感谢所有给我提供有用编码建议的人。 我有一排约700个细胞。 每个单元格都有一个“ID号,月,年和状态”。 我想编写程序来删除每个单元格中的月份和年份,但保留ID或状态。

一个好处是每个值之间都有一个空格。 我想让代码识别白色空间? 也许就像 “嘿R你可以删除第二和第四个空格之间的外翻吗?”

“4475 10 2013感染” 变成 “4475感染了”

Partial Code

谢谢,任何提示或建议(甚至包)都有帮助。我也想学习这个 - 我会更新我的代码,因为我想出更多的步骤

2 个答案:

答案 0 :(得分:3)

R允许# pragma: nocover_py2 # pragma: nocover_py3 lists进行索引编制。你应该放弃术语" cell"在R中工作时的词汇表。vectors函数可用于在空白处拆分字符值:

scan

如果您希望它们重新加入,scan(text=" 4475 10 2013 infected ", what="")[c(1,4)] # Pick first and fourth. #Read 4 items #[1] "4475" "infected" 功能可用。 paste函数是scan - 函数的核心,这将是我用于链接中所示数据的内容。如果您要编辑问题以包含read.table,您可能会得到一个解决您实际问题的答案,但目前您在实际代码中提出的唯一问题已得到解决。 (数据集的图片不会受到热烈欢迎。学习在问题文本中发布实际字符。例如,发布:dput(head(dataset))

的输出

这显示了如何使用dput( head( dataset))从多行数据输入中提取第1和第4项:

scan

答案 1 :(得分:0)

使用sapplystrsplit的其他选项。我们基于一个空格进行分割并抛出第3 /第4位置(即第2和第4空间之间)。然后我们重新组合:

txt <-  c(" 4475 10 2013 infected ", 
          " 6685 10 2013 infected ", 
          " 3547 10 2013 susceptible")

sapply(strsplit(txt," "), function(x) paste0(unlist(x)[-3:-4], collapse=" "))
##[1] " 4475 infected"    " 6685 infected"    " 3547 susceptible"