r - R:如何将相同的变量(行号)添加到列表中的每个数据框?
问题描述
以下命令添加一个数字变量,该变量指示行号到数据帧:
some_data$.id <- as.numeric(rownames(some_data))
我有一个包含许多数据框的列表,我想将上面定义的变量添加到该列表中的每个数据框。我怀疑我需要像 lapply 这样的东西,但我不知道具体如何。我该怎么做呢?
解决方案
你可以purrr::map
使用tibble::rowid_to_column
library(tidyverse)
lst <- list(mtcars, iris)
map(lst, ~rowid_to_column(.x, ".id"))
#[[1]]
# .id mpg cyl disp hp drat wt qsec vs am gear carb
#1 1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
#2 2 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
#3 3 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
#4 4 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
#5 5 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
#...
#
#[[2]]
# .id Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 1 5.1 3.5 1.4 0.2 setosa
#2 2 4.9 3.0 1.4 0.2 setosa
#3 3 4.7 3.2 1.3 0.2 setosa
#4 4 4.6 3.1 1.5 0.2 setosa
#5 5 5.0 3.6 1.4 0.2 setosa
#...
对于行名(而不是行号)只需替换rowid_to_column
为rownames_to_column
.
推荐阅读
- javascript - 调整大小
使用 srcdoc? - python - 如何从符合 doctest PEP8 的标准中排长队?
- python - python的硒替代品?访问 Web 元素的最快方式
- java - 如何修复命令提示符中的 java.lang.NoClassDefFoundError?
- attributes - 如何将不推荐使用的属性应用于 using 语句
- javascript - 每次引用变量时如何执行布尔比较
- scrapy - 强制关闭爬虫蜘蛛
- artifactory - jfrog cli 只获取工件的名称?
- python - 为什么用字符串和 timedeltas 转置 DataFrame 会转换 dtype?
- geolocation - AMP by Example 的基于地理位置的同意流程是否存在故障?