我试图从列表中包含的大量数据框的列名中提取数据。每个数据框的最后一列将包含我试图提取的唯一编号。
示例数据:
df1 <- data.frame(A = 1, B = 2, xx123xx = NA)
df2 <- data.frame(X = 1, Y = 2, xx456xx = NA)
dfList <- list(df1,df2)
字符串
然后,我想构建一个函数,为列表中的每个 Dataframe 执行以下操作:
提取列名中的数据
df1[,3] <- colnames(df1)[3]
型
删除数据的非数字部分
df1[,3] <- gsub("[^0-9]", "", df1[,3])
型
这样我就可以对列表中的所有 Dataframe 执行此操作,
lappy(dfList, function)
型
和
print(dfList)
型
返回所需的输出:
[[1]]
A B xx123xx
1 1 2 123
[[2]]
X Y xx456xx
1 1 2 456
2条答案
按热度按时间svdrlsy41#
在这里我们可以编写helper函数
字符串
然后与
lapply
一起使用它来转换列表型
4xy9mtcn2#
我们可以将
dplyr
与last_col
(选择最后一列)和cur_column
(当前选定列的name
)一起使用。parse_number
从字符串中提取数字/数字:字符串