如何使用R分析不同行具有不同数量元素的数据?

时间:2011-09-18 13:12:59

标签: r

数据格式如下,第一列是id:

1, b, c
2, a, d, e, f
3, u, i, c
4, k, m
5, o

但是,我无法分析这些数据。你是否知道如何将数据读入R?此外,我的问题是:如何使用R?

分析不同行具有不同数量元素的数据

2 个答案:

答案 0 :(得分:5)

您似乎正在尝试使用长度不等的元素读取文件。 R中的结构为list

可以将read.tablesep="\n"合并,然后在每行数据上应用strsplit来完成此操作。

以下是一个例子:

dat <- "
1 A B
2 C D E
3 F G H I J
4 K L
5 M"

要读取和转换为列表的代码:

x <- read.table(textConnection(dat), sep="\n")
apply(x, 1, function(i)strsplit(i, "\\s")[[1]])

结果:

[[1]]
[1] "1" "A" "B"

[[2]]
[1] "2" "C" "D" "E"

[[3]]
[1] "3" "F" "G" "H" "I" "J"

[[4]]
[1] "4" "K" "L"

[[5]]
[1] "5" "M"

您现在可以使用任何列表操作技术来处理数据。

答案 1 :(得分:0)

使用readLines和strsplit来解决这个问题。

text <- readLines("./xx.txt",encoding='UTF-8', n = -1L)

txt = unlist(strsplit(text, sep = " "))