首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换NA列中的列名及其值

转换NA列中的列名及其值
EN

Stack Overflow用户
提问于 2022-10-01 22:31:08
回答 1查看 60关注 0票数 0

我坚持了以下问题:

我的数据集(rv):

代码语言:javascript
复制
id    group    cat     value     suppl        thera 

1     vita      NA      NA       vita20       0.557

2     vitb      NA      NA       vitb200      0.764

3     vitc      NA      NA        vitc50      0.351

和我期待:

代码语言:javascript
复制
id group cat value

1 vita suppl vita20

1 vita thera 0.557

2  vitb suppl vitb200 

2 vitb thera 0.764

3 vitc suppl vitc50

3 vitc thera 0.351

提前感谢您的帮助和时间!

EN

回答 1

Stack Overflow用户

发布于 2022-10-01 22:50:36

使用基本R reshape(),您可以这样做,将“宽”数据转换为“长”

代码语言:javascript
复制
x <- read.table(
  header = TRUE,
  text = 
    "id group cat value suppl thera
      1  vita  NA  NA  vita20 0.557
      2  vitb  NA  NA vitb200 0.764
      3  vitc  NA  NA  vitc50 0.351"
)

reshape(
  x,
  idvar = "id",
  timevar = "cat",
  varying = 5:6,
  v.names = "value",
  times = c("suppl", "thera"),
  direction = "long"
)
#>         id group   cat   value
#> 1.suppl  1  vita suppl  vita20
#> 2.suppl  2  vitb suppl vitb200
#> 3.suppl  3  vitc suppl  vitc50
#> 1.thera  1  vita thera   0.557
#> 2.thera  2  vitb thera   0.764
#> 3.thera  3  vitc thera   0.351
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73922192

复制
相关文章

相似问题

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