我必须使用R来关注问题.简而言之,我想基于数据框中不同列对的计算在数据帧中创建多个新列.
数据如下:
df <- data.frame(a1 = c(1:5),
b1 = c(4:8),
c1 = c(10:14),
a2 = c(9:13),
b2 = c(3:7),
c2 = c(15:19))
df
a1 b1 c1 a2 b2 c2
1 4 10 9 3 15
2 5 11 10 4 16
3 6 12 11 5 17
4 7 13 12 6 18
5 8 14 13 7 19
Run Code Online (Sandbox Code Playgroud)
输出应该如下所示:
a1 b1 c1 a2 b2 c2 sum_a sum_b sum_c
1 4 10 9 3 15 10 7 25
2 5 …Run Code Online (Sandbox Code Playgroud) 我已经连续几天尝试了这段代码的数百种排列,试图获得一个能够完成我想要的功能的函数,但我最终放弃了。感觉这绝对是可行的,而且我已经很接近了!
我试图通过下面的代表回到这里的核心问题。
基本上我有一个单行数据框,其中一列包含字符串列表(“概念”)。我想为每个字符串创建一个附加列,mutate最好使用从字符串中获取其名称的列,然后使用函数调用的结果填充该列(?哪个函数并不重要,对于现在?-我只需要该功能的基础设施就可以工作。)
像往常一样,我觉得我一定错过了一些明显的东西......也许只是一个语法错误。我还想知道是否需要使用purrr::map,也许更简单的矢量化映射可以正常工作。
我觉得新列的命名..1而不是概念名称这一事实可以说明问题所在。
我可以通过手动调用每个概念来创建我想要的数据框架(请参阅 reprex 的结尾),但由于不同数据框架的概念列表不同,我想使用管道和 tidyverse 技术来实现此功能,而不是手动执行。
我已阅读以下问题来寻求帮助:
但这些都没有完全帮助我解决我遇到的问题。[编辑:在最后一个q中添加到该列表中,这可能是我需要的技术]。
<!-- language-all: lang-r -->
# load packages -----------------------------------------------------------
library(rlang)
library(dplyr)
library(tidyr)
library(magrittr)
library(purrr)
library(nomisr)
# set up initial list of tibbles ------------------------------------------
df <- list(
district_population = tibble(
dataset_title = "Population estimates - local authority based …Run Code Online (Sandbox Code Playgroud)