r

如何创建矢量向量 R

我有输入数据包含这样的行:


-0.438185 -0.766791 0.695282
0.759100 0.034400 0.524807


如何创建数据结构 R, 这看起来像这样:


[[1]]
[1] -0.438185 -0.766791 0.695282
[[2]]
[1] 0.759100 0.034400 0.524807
已邀请:

龙天

赞同来自:

使用列表:


> 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


想想它作为一个数组 map/dictionary/associative, 它在整数中索引。

如果您想拍摄类似上面的字符串,并将其转换为向量列表:


> 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


我用 strsplit 分离到新行,然后再次申请 strsplit 每一行。 as.numeric 存在将线条带到数字,和 [[1]] 存在,因为 strsplit 显示一个我们真正不需要的列表。

石油百科

赞同来自:

假设您的数据处于表单中 dataframe 有这个名字,让我们说
df

:


library/plyr/
alply/as.matrix/df/,1,"["/





$`1`
V1 V2 V3
-0.438185 -0.766791 0.695282

$`2`
V1 V2 V3
0.759100 0.034400 0.524807

快网

赞同来自:

如果从文件中读取,请说
data.txt

, 这可以如下所示:


lapply/readLines/'data.txt'/,function/x/ as.numeric/strsplit/x,' +'/[[1]]//

董宝中

赞同来自:

StompChicken 那是对的,只是用一个清单来做。 虽然我想添加一个可以帮助您从现有结构中学习的小技巧:


dput/dframe/


显示一些代码以创建适当的代码 data.frame 或矢量。 尝试使用任何向量,框架或列表进行操作,并且您将看到它是如何创建的,例如:


x= c/1,2,3,4/
dput/x/


回声 c/1,2,3,4/

要回复问题请先登录注册