r - 如何取消引用 R 中的字符串以访问数据表中的列

标签 r data.table

假设我有一个名为 mysample 的 data.table。它有多个列,其中两个是 weightheight。我可以通过键入以下内容来访问重量列: mysample[,weight]

但是当我尝试编写 mysample[,colnames(mysample)[1]] 时,我看不到 weight 的元素。我的代码有问题吗?

最佳答案

请引用data.table FAQ的1.1节:http://cran.r-project.org/web/packages/data.table/vignettes/datatable-faq.pdf

colnames(mysample)[1] 求值为字符向量“weight”,data.table 中的第二个参数 J 是在 DT 范围内求值的表达式。因此,“权重”评估为字符向量“权重”本身,您看不到“权重” 列的元素。要实际对“权重” 列进行子集化,您应该尝试:

mysample[,colnames(mysample)[1], with = F]

关于r - 如何取消引用 R 中的字符串以访问数据表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870673/

相关文章:

r - 在两列数据框上使用 adist

r - 否则 : combine 3 categories into one

r - 使用包中的评估调用包装 data.table

r - data.table 如何从 j 中获取列名?

r - 根据 data.table 中特定列的多个条件标记行

r - 牺牲最小分辨率来汇总数据(根据滞后值的总和创建不同大小的组)

r - 在 R 中,提取后续列为 max 的第 1 列的值

r - 将某一行的值与 data.table 中的所有先前行进行比较

r - 如何像 Pandas-Style 一样转换为 R 中的多列?

r - ifelse for 循环的有效替代