R 仅删除单元格中的日期
我要感谢每一位给我有用的编码建议的人。 我有一排大约700个细胞。 每个单元格都有一个“ID号、月份、年份和状态”。 我想将程序编码为删除每个单元格中的月份和年份,但保留ID或状态 一件好事是,每个值之间都有一个空白。 我正在考虑让代码识别空白? 所以也许像 “嘿,R,你能删除第2和第4个空格之间的所有内容吗?” “4475 10 2013年感染” 变成 “4475人感染”R 仅删除单元格中的日期,r,whitespace,R,Whitespace,我要感谢每一位给我有用的编码建议的人。 我有一排大约700个细胞。 每个单元格都有一个“ID号、月份、年份和状态”。 我想将程序编码为删除每个单元格中的月份和年份,但保留ID或状态 一件好事是,每个值之间都有一个空白。 我正在考虑让代码识别空白? 所以也许像 “嘿,R,你能删除第2和第4个空格之间的所有内容吗?” “4475 10 2013年感染” 变成 “4475人感染” 谢谢,任何提示或建议(甚至套餐)都可以帮助您。我也很想了解这一点-我会更新我的代码,因为我找到了更多的步骤R有列表和向量
谢谢,任何提示或建议(甚至套餐)都可以帮助您。我也很想了解这一点-我会更新我的代码,因为我找到了更多的步骤R有
列表
和向量
,它们允许索引。在R中工作时,应从词汇表中删除术语“单元格”。可以使用scan
函数拆分空白处的字符值:
scan(text=" 4475 10 2013 infected ", what="")[c(1,4)] # Pick first and fourth.
#Read 4 items
#[1] "4475" "infected"
如果希望重新加入,则可以使用粘贴功能。scan
函数是read.table
-函数的核心,这就是我将用于链接中所示数据的功能。如果您将问题编辑为包含dput(head(dataset))
,您可能会得到一个解决实际问题的答案,但目前您在实际代码中提供的唯一问题已经得到解决。(在SO中,数据集的图片不受欢迎。学习在问题文本中使用实际字符发布。例如,发布:dput(head(dataset))
这显示了如何使用scan
从多行数据输入中提取第一项和第四项:
scan(text=txt, what=list(1, NULL, NULL, "")) # list of type-"examples"
#-----------
Read 3 records
[[1]]
[1] 4475 6685 3547
[[2]]
NULL
[[3]]
NULL
[[4]]
[1] "infected" "infected" "susceptible"
R具有允许索引的
列表
和向量
。在R中工作时,应从词汇表中删除术语“cell”。可以使用扫描
功能拆分空白处的字符值:
scan(text=" 4475 10 2013 infected ", what="")[c(1,4)] # Pick first and fourth.
#Read 4 items
#[1] "4475" "infected"
如果你想让他们重新加入,粘贴
功能是可用的。扫描
功能是读取表
-功能的核心,我会用它来处理链接中的数据。如果你要编辑你的问题以包括dput(head(dataset))
您可能会得到一个解决实际问题的答案,但目前您在实际代码中提供的唯一问题已经得到解决。(数据集的图片对SO没有帮助。学会在问题文本中使用实际字符发布。例如,发布:dput(head(dataset))的输出。
这显示了如何使用scan
从多行数据输入中提取第一项和第四项:
scan(text=txt, what=list(1, NULL, NULL, "")) # list of type-"examples"
#-----------
Read 3 records
[[1]]
[1] 4475 6685 3547
[[2]]
NULL
[[3]]
NULL
[[4]]
[1] "infected" "infected" "susceptible"
另一个选项是使用
sapply
和strsplit
。我们根据一个空格进行拆分,并丢弃第三/第四个位置(位于第二和第四空格之间)。然后我们重新组合:
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"
txt使用sapply
和strsplit
的另一个选项。我们根据一个空格进行拆分,并抛出第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"
txt请勿将您的数据或代码作为图像发布,请学习如何发布。请勿将您的数据或代码作为图像发布,请学习如何发布