gpt4 book ai didi

r - 将属性设置为 R 中的多个 data.table 列

转载 作者:行者123 更新时间:2023-12-01 13:26:11 24 4
gpt4 key购买 nike

这应该很简单,但我似乎做不对。

我有一个包含 N 列(假设 N=40K)和两个长度相同的字符向量(即 labelvector 和 unitvector)的数据表,我想将属性“label”和“units”添加到每一列data.table 的值到该列的相关向量指示的值。

这两个向量也使用 data.table 列名命名。

我的工作围绕着对所有列使用 setattr 或包括带有 lapply 的 .SD 表示法,当我有大表但没有取得任何重大成功时,我将其用作主要工具。

后者失败了,因为我无法访问从 lapply 中传递给函数调用的列的名称,以便通过引用设置属性。

我可以制作一个通过引用设置属性的函数(在函数体内调用 := data.table)或者一个 *apply/for 循环来设置它们,但两者都需要很多时间。

您认为这可以做得更快还是更优雅?

* 编辑*****

例子:

该表有 4 列:Age、Hgt、Wgt 和 S

labelvector 有 4 个值:“年龄”、“高度”、“体重”和“性别”。

unitvecor 也有 4 个值:"Years"、"cm"、"kg"、NA。

labelvector 和 unitvector 值均以表列名称命名。

所以目标是为数据表设置:

Age 列,标签:“Age”,单位“Years”。

Hgt 列,标签:“Height”,单位“cm”。

Wgt 列,标签:“Weight”,单位“kg”。

S 列,标签:“性别”,单位 NA。

这得泛化成一个上万列的data.table。

最佳答案

这将解决您的问题

  attr(temp_data, "names") <- c("label", "units")

temp_data 是你的数据框

关于r - 将属性设置为 R 中的多个 data.table 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25144503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com