R语言 从大文本文件创建2D数组并将其切片

zf2sa74q  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(108)

我必须读取一个包含250k数字的文本文件,从文件中创建一个2500行,100列的二维数组。然后使用起始列索引2和结束列索引5对二维数组进行切片。打印数组和切片的结果。我是R工作室的新手,所以即使在谷歌上搜索了几个小时后,我也很难做到这一点。
我甚至不知道我是否有这个权利,我不知道如何切片它的方式,它特别想要的。不知道这是否有帮助,但文件只是每行一个数字,没有逗号或任何东西。Here是文件的链接。

data <- read.table("file")

vector1 <- 250000

vector2D <- array(c(vector1),dim= c(2500, 100))
ars1skjm

ars1skjm1#

虽然我们不能访问您的“文件”,但我们可以想象类似的东西,这里称为“many_numbers”(如果您在read.table后执行data <- as.numeric(data),则接近)

set.seed(42) # so we get same results from randomly generated to discuss later
many_numbers = round(runif(250000, 0,100))
many_arr = array(many_numbers, dim = c(2500, 100))
class(many_arr)
[1] "matrix" "array"
dim(many_arr)
[1] 2500  100
# and slicing, just give me all rows, but columns 2:5
many_arr_slice = many_arr[, 2:5] # before the comma rows, after columns

当我们有很多2500 × 100的矩阵时,我们通常会看到数组,为什么class(many_array)报告矩阵和数组。

many_arr_2 = array(c(many_numbers, many_numbers), dim = c(2500, 100, 2))
dim(many_arr_2)
[1] 2500  100    2
many_arr2_slice = many_arr_2[, 2:5, ] # rows, columns, which array (all)
many_arr2_slice1 = many_arr_2[, 2:5, 1] # rows, columns, just the first matrix

我不认为打印数组或切片有什么好处,因为它将超过打印缓冲区。

相关问题