0

ベクトルと行列のグループがあり、5 つのサブグループに分類できます。これらのベクトルと行列をより簡単かつきれいに管理したいので、複数のベクトルまたは複数の行列を 1 つのデータフレームに入れることはできますか? それが許可されている場合、それらを1つのデータフレームにグループ化すると、メモリ消費量は(個々のベクトルと行列として残すよりも)大きくなりますか?

アドバイスありがとうございます!

4

1 に答える 1

2

上記のコメントで説明した内容に基づいて、再現できるはずの例を次に示します。この例では現在のワークスペース内のオブジェクトが削除されるため、最初にすべての作業を保存してください。

## SAVE ANY WORK YOU NEED TO BEFORE DOING THIS!
##
## Start with a clean workspace
##
rm(list=ls())
ls()
set.seed(1)
## Make up some data
A = rnorm(10000)
B = sample(letters, 10000, replace=TRUE)
C = matrix(50000, nrow=10000, ncol=5)
## The same data as a data.frame
temp.df = data.frame(A = A)
temp.df$B = B
temp.df$C = C
## The same data as a list
temp.list = list(A, B, C)
##
## How big is each object?
##    
sort( sapply(ls(), function(x) { object.size(get(x)) }) )
#     A         B         C temp.list   temp.df 
# 80040     81288    400200    561600    562304 
sum(sort( sapply(ls(), function(x) { object.size(get(x)) }) )[1:3])
# [1] 561528

オブジェクトをlist(推奨) またはdata.frame(実用的な目的では推奨されませんが、adata.frame の.listclassdata.frame

参照:ここここ.

于 2012-07-25T07:21:42.113 に答える