我有一个 .csv 文件,其中包含 22.388 行以逗号分隔的数字。我想分别找到每一行的数字对的所有可能组合,并将它们逐对列出,这样我就可以将它们直观地表示为集群。
我的文件中两行的示例是
"2, 13"
"2, 8, 6"
当我使用 str() 函数时,R 表示文件包含因子。我想它需要是整数,但我需要将行分开,因此我将每一行都包裹在“”中。
我想要这样的每一行的可能组合。
2, 13
2, 8
2, 6
8, 6
我已经从@flodel 那里得到了答案,说
示例输入 - 将 textConnection(...) 替换为您的 csv 文件名。
csv <- textConnection("2,13
2,8,6")
这会将输入读入值列表:
input.lines <- readLines(csv)
input.values <- strsplit(input.lines, ',')
这将创建一个嵌套的对列表:
pairs <- lapply(input.values, combn, 2, simplify = FALSE)
This puts everything in a nice matrix of integers:
pairs.mat <- matrix(as.integer(unlist(pairs)), ncol = 2, byrow = TRUE)
pairs.mat
但是我需要该函数分别运行我的 .csv 文件中的每一行,所以我认为我需要使用该函数执行一个 for 循环 - 我只是无法理解它。
提前致谢。