假设我有一个名为 mysample 的 data.table。它有多个列,其中两个是 weight
和 height
。我可以通过键入以下内容来访问重量列:
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/