【问题标题】:R get vector from data.tableR从data.table获取向量
【发布时间】:2013-10-10 19:21:39
【问题描述】:

我有两个小问题。这段代码如下:

dt<-data.table(filename='asd.txt',vector=c(2,3,6))

1.将文件名复制三次并为其赋予值:2、3、6。如何使文件名与一个向量相关联,而不是三个值?

2。给定向量 v1,如何从数据表中提取“文件名”?

【问题讨论】:

  • data.table(filename='asd.txt',vector=list(c(2,3,6))) 注意额外的list,这确实是您之前问题的重复 - 也许您需要更好地指定您的问题
  • 我关闭了它,但后来才注意到它实际上并没有回答如何在给定向量的情况下提取文件名,这是我的主要问题。您的回答非常定性,但我没有在那里找到我的答案,如果可能的话,您能否通过举例说明如何做到这一点来帮助我?
  • 您可以随时取消选中答案 - 正如我在那里所说,我认为尝试查找矢量文件名的方法是错误的,您不应该“丢失”该信息开始
  • 我是 R 新手,你的解释很有意义!您允许我找到文件名向量的示例,而不是相反(我试图玩弄但没有设法得到它)。用你的例子,怎么做?

标签: r data.table


【解决方案1】:

我将继续折叠该列表:

DT <- data.table(fn='asd.txt',v=list(c(2,3,6)))
DT[,vchar:=paste(v[[1]],collapse=''),by=1:nrow(DT)]
setkey(DT,vchar)
#         fn     v vchar
# 1: asd.txt 2,3,6   236

v1 <- c(2,3,6)
DT[paste(v1,collapse='')]$fn

如果列表中的值长于一个字符,您可能需要更改分隔符,例如,更改为 collapse='_',在它出现的两个位置。

【讨论】:

  • 我看到你的旧问题已经有了有用的答案,所以如果你在那里解决了你的问题,请随时删除这个问题。
猜你喜欢
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-23
  • 1970-01-01
  • 2016-11-03
  • 2018-06-01
  • 1970-01-01
相关资源
最近更新 更多