【发布时间】:2021-05-26 04:18:12
【问题描述】:
我想使用 svd 函数来获取列表中大型数据集的奇异值。 当我在单个矩阵中使用 svd 函数时,我可以使用 $d 并获取值,但对于列表,我无法获取输出。 这是矩阵和输出的代码。
tb = matrix(c(64, 112, 59, 174, 111, 37,
39, 135, 115, 92, 161, 70,
93, 119, 50, 142, 20, 114,
149, 191, 62, 17, 145, 21,
60, 37, 29, 74, 42, 242), nrow = 5, ncol = 6, byrow = TRUE)
## Compute SVD of tb
#
my_svd = svd(tb)
## Retrieve (save) singular values
#
sv = my_svd$d
## Compute ratio between "1st/2nd" & "2nd/3rd" singular values
#
ratios = matrix(c(sv[1]/sv[2], sv[2]/sv[3]), nrow = 1)
colnames(ratios) = c("sv1/sv2", "sv2/sv3")
## Print ratios
ratios
如何将其应用于数据集列表? 我当前的代码
svdresult <- lapply(d1,svd)
svdresult
d1 是我的数据集列表
如何在数据集列表中获取 svdresult$d。
Thanks in advance
【问题讨论】:
-
请按照上面的代码制作一个表格