我输入的数据包含这样的行:
-0.438185 -0.766791 0.695282
0.759100 0.034400 0.524807
Run Code Online (Sandbox Code Playgroud)
如何在R中创建如下所示的数据结构:
[[1]]
[1] -0.438185 -0.766791 0.695282
[[2]]
[1] 0.759100 0.034400 0.524807
Run Code Online (Sandbox Code Playgroud)
Sto*_*ken 21
使用清单:
> x <- list()
> x[[1]] <- c(-0.438185, -0.766791, 0.695282)
> x[[2]] <- c(-0.759100, 0.034400, 0.524807)
> x
[[1]]
[1] -0.438185 -0.766791 0.695282
[[2]]
[1] -0.759100 0.034400 0.524807
Run Code Online (Sandbox Code Playgroud)
可以将其视为由整数索引的地图/字典/关联数组.
如果你想采用像上面那样的字符串并将其转换为向量列表:
> s <- "-0.438185 -0.766791 0.695282\n0.759100 0.034400 0.524807"
> x <- lapply(strsplit(s, "\n")[[1]], function(x) {as.numeric(strsplit(x, '\\s+')[[1]])})
> x
[[1]]
[1] -0.438185 -0.766791 0.695282
[[2]]
[1] 0.759100 0.034400 0.524807
Run Code Online (Sandbox Code Playgroud)
我正在使用strsplit按换行分割,然后再将strsplit应用于每一行.as.numeric是从字符串转换为数字而[[1]]的存在是因为strsplit输出了一个我们并不想要的列表.