首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改list的'names‘属性

更改list的'names‘属性
EN

Stack Overflow用户
提问于 2011-07-06 07:58:19
回答 3查看 3.8K关注 0票数 2

你好,我正在分析一些数据,并试图使用一个包含必须以这种方式格式化的对象的包。我从来没有见过这种类型的格式,我不确定如何生成它。当我调用R中的对象时,这是一个奇怪的对象:

代码语言:javascript
复制
> a
     A      B          C            D         E          F 
0.00000000 1.34529412 0.31571429 1.26327103 0.32615385 1.12585586 

下面是这个对象a的一些属性:

代码语言:javascript
复制
> 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“的格式。

因此,可以采用一个示例数据集,例如:

代码语言:javascript
复制
> 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 

然后把它变成这样?

代码语言:javascript
复制
     A      B          C            D         E          F 
0.00000000 1.34529412 0.31571429 1.26327103 0.32615385 1.12585586 

使用这些属性?

代码语言:javascript
复制
  > 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"

谢谢你的帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-06 08:15:28

我想这就是你要找的东西:

代码语言:javascript
复制
newExample <- Example$R
names(newExample) <- Example$L
票数 4
EN

Stack Overflow用户

发布于 2011-07-06 08:42:53

您应该学习使用write.table(),而不是使用write.table()或write.csv()来写入磁盘。然后,您可以放心,当您将对象装入()时,您将获得一个构造正确的副本。如果需要以ASCII可读格式查看对象,可以使用dump()。

票数 3
EN

Stack Overflow用户

发布于 2013-11-04 15:57:10

代码语言:javascript
复制
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”...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6590197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档