你好,我正在分析一些数据,并试图使用一个包含必须以这种方式格式化的对象的包。我从来没有见过这种类型的格式,我不确定如何生成它。当我调用R中的对象时,这是一个奇怪的对象:
> a
A B C D E F
0.00000000 1.34529412 0.31571429 1.26327103 0.32615385 1.12585586 下面是这个对象a的一些属性:
> str(a)
Named num [1:6] 0 1.345 0.316 1.263 0.326 ...
- attr(*, "names")= chr [1:6] "" "A" "B" "C" ...
> class(a)
[1] "numeric"我可以用标准的write.csv命令将"a“写成.csv格式,它会用两列很好地格式化它,一列包含字符,另一列包含数字。当我尝试使用read.csv在R中读回它时,它正确地返回了一个有两列的数据帧。然而,我尝试使用的函数不喜欢数据帧格式,而更喜欢"a“的格式。
因此,可以采用一个示例数据集,例如:
> L <- c("A","B","C","D","E","F")
> R <- c(0.00000000,1.34529412,0.31571429,1.26327103,0.32615385,1.12585586 )
> T <- list(L=L,R=R)
> Example <- as.data.frame(T)
> Example
L R
1 A 0.00000000
2 B 1.34529412
3 C 0.31571429
4 D 1.26327103
5 E 0.32615385
6 F 1.12585586 然后把它变成这样?
A B C D E F
0.00000000 1.34529412 0.31571429 1.26327103 0.32615385 1.12585586 使用这些属性?
> str(a)
Named num [1:6] 0 1.345 0.316 1.263 0.326 ...
- attr(*, "names")= chr [1:6] "" "A" "B" "C" ...
> class(a)
[1] "numeric"谢谢你的帮助!
发布于 2011-07-06 08:15:28
我想这就是你要找的东西:
newExample <- Example$R
names(newExample) <- Example$L发布于 2011-07-06 08:42:53
您应该学习使用write.table(),而不是使用write.table()或write.csv()来写入磁盘。然后,您可以放心,当您将对象装入()时,您将获得一个构造正确的副本。如果需要以ASCII可读格式查看对象,可以使用dump()。
发布于 2013-11-04 15:57:10
R <- t(Example$R)
L <- t(Example$L)
names(R) <- L
str(R)num 1,1:6 0 1.345 0.316 1.263 0.326 ... - attr(*,"names")= chr 1:6 "A“"B”"C“"D”...
https://stackoverflow.com/questions/6590197
复制相似问题