非常感谢您的帮助。strsplit符号“|”导致R中的非字符错误信息
是的。我应该提供一个更好的例子。
这里是我的输入文件(3columns.csv)
Patients Markers Studies
1 AA EXX 1111
2 BB ABCB1 2222|3333|5555|6666
3 CC CCAN 4444|5555
4 DD ABCB1 6666
这里是我的输出文件
Patients Markers Studies
1 AA EXX 1111
2 BB ABCB1 2222
2 BB ABCB1 3333
2 BB ABCB1 5555
2 BB ABCB1 6666
3 CC CCAN 4444
3 CC CCAN 5555
4 DD ABCB1 6666
(1)根据初级讲座的命令,我已经取得了一些变化到第6行,如下所示
sapply(unlist(strsplit(as.character(df[x,3]),"\\|")),c,df[x,1:2],USE.NAMES=FALSE)
(2)我试图调出DF文件作为
df <- read.csv(file="3columns.csv",header=TRUE,stringsAsFactors=FALSE)
(3)我也尝试过|
添加\\
所有这些方法都没有工作,所以我怀疑我可能误解了下面的答复。你能介意给我更多的指导吗?
最好的问候, 凯瑟琳
------原来的问题--------------------------
我想使用R的strsplit
命令来分离基于符号"|"
的单元格。
但是,出现错误消息:
Error in strsplit(df[x, 3], "|") : non-character argument.
这个错误是什么消息呢?
我该如何纠正这个错误?
我使用本网站前一个问题中列出的命令行:
> write.csv(df, file="3columns.csv")
> as.data.frame(
+ t(
+ do.call(cbind,
+ lapply(1:nrow(df),function(x){
+ sapply(unlist(strsplit(df[x,3],"|")),c,df[x,1:2],USE.NAMES=FALSE)
+ })
+)
+)
+)
这不是一个论坛。这是一个Q/A网站。你应该问一个问题和人们的答案。如果你得到的信息需要澄清,那么你应该编辑你的问题是一个更好的问题。没有理智的问题是以“非常感谢你的帮助,是的,我应该提供一个更好的例子”。如果您认为您需要更好的示例,请编辑该问题并添加更好的示例。 – 2011-04-08 19:47:05
错误消息告诉你,strsplit的内容不是一个字符向量。检查它是什么,并使其成为角色矢量。如果有疑问,请阅读帮助文件。 – 2011-04-08 19:51:01