从字符串获取值的列标题中的R
问题描述:
我有一个文本文件,它看起来像下面从字符串获取值的列标题中的R
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外)。
例如,这里我会瓦尔= 1,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
是否这样? 'my_var Arun 2013-03-15 12:00:11
@Arun为什么不作为回答? – 2013-03-15 12:01:27
@ SimonO101,在这些问题中,总有一个“catch”。看到我的答案评论。 – Arun 2013-03-15 12:09:07