【问题标题】:convert colnames() into a new row将 colnames() 转换为新行
【发布时间】:2021-08-05 12:09:18
【问题描述】:

我有一个如下数据集,我想创建一个包含colnames(df) 值的新行。非常感谢。

df <- head(mtcars); df

预期的答案

                  mpg cyl disp  hp drat    wt  qsec vs am gear carb
newRow            mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

【问题讨论】:

  • 请注意,您不能在数据框中混合数据类型并保留混合类型。添加字符行会将所有数字行转换为字符。

标签: r tidyverse tidyr data-manipulation


【解决方案1】:

rbind 是你需要的:

rbind(newRow = colnames(df), df)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
newRow             mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4           21   6  160 110  3.9  2.62 16.46  0  1    4    4
Mazda RX4 Wag       21   6  160 110  3.9 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85  2.32 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15  3.44 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76  3.46 20.22  1  0    3    1

【讨论】:

  • iris 数据集相同的工作不合适。抛出NArbind(newRow = colnames(iris), iris)
  • @TarJae 你得到NASpecies 列,对吧?这是有道理的,因为Speciesfactor。如果您希望此代码正常工作,您需要确保 Species 列是 character
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多