我有一个类似于以下内容的文本文件
DateTime height0.1 height0.2
2009-01-01 00:00 1 1
2009-01-02 00:00 2 4
2009-01-03 00:00 10 1
显然,这只是一个示例,实际文件包含更多数据,即包含大约100列,标题可以包含小数值。我可以使用以下内容将文件读入R:
dat <- read.table(file,header = TRUE, sep = "\t")
其中file是表的路径。这将在工作空间中创建一个名为dat的data.frame。我现在想从这个data.frame生成一个名为'vars'的变量,它是一个由列标题中的数字组成的数组(除了DateTime是第一列)。
例如,这里我会有vars = 1,2
基本上我想获取标题字符串中的数字,然后将其存储在单独的变量中。我意识到这对某些人来说非常容易,但任何建议都会很棒。
答案 0 :(得分:2)
如果您所有的号码都在名称的末尾,例如,不像h984mm19
,那么,您可以使用gsub
删除除数字和标点符号以外的所有内容并将其转换为numeric
向量如下:
# just give all names except the first column
my_var <- as.numeric(gsub("[^0-9[:punct:]]", "", names(dat)[-1]))
# [1] 0.1 0.2