是否可以将R中的矩阵的名称设置为数字? 我知道它们是字符或NULL默认情况下。 但是,如果有一种方法可以将它们转换为数字,它对我来说会很有帮助。R:设置colnames为数字
任何澄清将受到欢迎。
编辑
我会更clearely解释一下:
我有一个包含两个数值列中的数据帧,例如:
> xy
x y
[1,] 1 1
[2,] 2 2
[3,] 3 5
[4,] 4 7
> xy = as.data.table(xy)
> xy_cast = dcast(xy, x~y, value.var="y", fun.aggregate=length)
> xy_cast
x 1 2 5 7
1 1 1 0 0 0
2 2 0 1 0 0
3 3 0 0 1 0
4 4 0 0 0 1
> xy_cast = xy_cast[-1]
> xy_cast
1 2 5 7
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
> class(colnames(xy_cast))
[1] "character"
正如你看到我的colnames是数字由他们被强制为character
。如果我可以将名称转换为numeric
它会减少算法其余部分的执行时间。
但是,我不确定这是可能的。
SOLUTION
我试图从另一个角落对待这个问题,所以我的想法不同:
which(colnames(df)=="b")
该R功能帮助我通过我的colnames
通过选择的列数我的列名称,这有助于减少执行时间。
第一个回答这个问题,让我在我的问题解决:
Get the column number in R given the column name
感谢您的答复。
你可以指定一个数字,但是会被强制转换为“字符”。从文档:'NULL或非零长度的字符向量' –
@docendodiscimus,这是我的问题:我的姓氏包含数字,但它们被自动强制为“字符”。有没有解决方案? – sarah
为什么你要他们是数字?这听起来有点像[XY问题](http://meta.stackexchange.com/a/233676)。 – Laterow