根据列名称/编号条件转置数据框

时间:2020-06-22 07:19:03

标签: r transpose data-wrangling

我正在尝试标准化来自R中的API的反馈。但是,在某些情况下,API返回不同的格式。这不允许我进行标准化和自动化。我想到了以下解决方案:

  1. 如果数据框具有多个变量,请保持数据框不变
  2. 如果数据帧具有1个变量,则转置

我到目前为止一直尝试的这个ID

col <- ncol(df)
df <- ifelse( col > 1, as.data.frame(df), as.data.frame(t(df))

但是,这将返回一个列表,并且不允许进一步处理。谢谢您的帮助。任何链接也会有所帮助。

谢谢

1 个答案:

答案 0 :(得分:1)

也许您需要这样的东西:

# some simple dataframes
df1 <- data.frame(col1 = c("a","b"))

df2 <- data.frame(col1 = c("a","b"),
                  col2 = c("c","d"))

func <- function(df) {
                      if (ncol(df) ==1) {
                                         as.data.frame(t(df))
                                        } else {
                                         (df)
                                        }
                      }

 func(df1)
     V1 V2
col1  a  b
 func(df2)
  col1 col2
1    a    c
2    b    d
相关问题