【发布时间】:2012-06-19 15:19:26
【问题描述】:
不知道怎么问,但我会试一试:
我有 20 个从 MS Access 导入的数据帧(例如 2006_1、2006_2、2007_1、2007_2...)。
每个 data.frame 有 10 列和大约 300 万行。
每个 data.frame 中的第一列命名为 secuityName,这是一个股票代码列表,后面跟着一些标签。
我想在 20 个 data.frame 中的每一个中将 SecurityName 列中的每一行都大写。
结构如下:
2006_1
> **SecurityName** **...**
> AAPL abcdef **...**
> MSFT abcdef **...**
2006_2
> **SecurityName** **...**
> AAPL abcdef **...**
> MSFT abcdef **...**
我希望每个人看起来像这样:
2006_1
> **SecurityName** **...**
> AAPL ABCDEF **...**
> MSFT ABCDEF **...**
我有一个名为 *Raw_data_vector* 的向量,其中包含所有 data.frame 名称
原始数据向量
> 2006_1
> 2006_2
> 2007_1
> 2007_2
> ...
我尝试使用 lapply 但无法使用:
lapply(1:length(Raw_data_vector), function(x) toupper(get(x)[,1]),Raw_data_vector)
【问题讨论】:
-
您可以使用
ls的模式参数获取data.frame名称,但是,使用数字命名的变量通常会带来更多的麻烦而不是好处。在继续之前,您可能需要考虑更改他们的名字。 -
@user1399173 考虑到数据的类型和大小,您可能会发现包
data.table更方便、更快捷。最好从用户评论开始,然后是演示文稿。