非常感谢您的帮助。
是的。我应该提供一个更好的例子。
这是我的输入文件(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)
+ })
+ )
+ )
+ )