我有以下格式的一行
IP1: IP2: 0.1,0.5,0.9
我使用以下命令拆分此行:myVector <- (strsplit(oneLine, ":"))
, 其中 oneline 是字符串 "IP1: IP2: 0.1,0.5,0.9"
我想访问第三列并将其转换为数据框。
我访问第三列如下:
listofPValues
listofPValues <- myVector[[1]][[3]]
我正在尝试将 listofPValues 中的逗号分隔值转换为数据框,如下所示:
data.frame(as.numeric(listofPValues,',')))
它给了我以下错误
In data.frame(as.numeric(listofPValues, ",")) :
NAs introduced by coercion
我想使用的函数只接受数据帧。
我想问题是我需要在将它转换为数字之前打破字符串“0.1,0.5,0.9”。
如果您有任何建议,请告诉我。
谢谢
井字
最佳答案
这是一种使用 scan
的方法:
oneLine <- "IP1: IP2: 0.1,0.5,0.9"
myVector <- strsplit(oneLine, ":")
listofPValues <- myVector[[1]][[3]]
listofPValues
# [1] " 0.1,0.5,0.9"
scan(text = listofPValues, sep = ",")
# Read 3 items
# [1] 0.1 0.5 0.9
还有一个使用
strsplit
:as.numeric(unlist(strsplit(listofPValues, ",")))
# [1] 0.1 0.5 0.9
关于r - 将逗号分隔的字符串转换为 R 中的整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26342620/