我有以下格式的一行

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/

10-12 20:19