我想从数据帧中提取一个变量名,并用dplyr::mutate创建一个新变量。我必须写什么才能接受通过“md$meta[1]”提供的变量名?我想这是直截了当的,但我还没能在网上找到答案。如有任何帮助,不胜感激!
iris <- head(iris)
meta <- c("a", "b", "c")
data <- c(1:3)
md <- data.frame(meta, data)
rm(meta, data)
iris <- iris %>%
mutate("a" = md$data[1])
iris <- iris %>%
mutate(paste0(md$meta[1]) = md$data[1])
这可以通过赋值(:=
)和计算(!!
)赋值的lhs来实现
iris %>%
mutate(!! paste0(md$meta[1]) := md$data[1])
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species a
#1 5.1 3.5 1.4 0.2 setosa 1
#2 4.9 3.0 1.4 0.2 setosa 1
#3 4.7 3.2 1.3 0.2 setosa 1
#4 4.6 3.1 1.5 0.2 setosa 1
#5 5.0 3.6 1.4 0.2 setosa 1
#6 5.4 3.9 1.7 0.4 setosa 1
我尝试在mutate_()函数(dplyr)中用paste()创建一个变量。 我试图用这个答案修改代码(dplyr-mutate:使用动态变量名),但它不起作用... 注意:nameVarPeriod1是函数的参数。
有没有一种更简洁的方法从带有数据库后端的tbl中获得dplyr tbl的一列作为向量(即数据帧/表不能直接子集)? 那太容易了,所以 但似乎有点笨拙。
我想使用在数据帧中创建多个新列。列名及其内容应动态生成。 来自IRIS的示例数据: 我创建了一个函数来从变量中更改新列:
我想在使用dplyr时动态创建变量名;不过,我也可以使用非DPLYR解决方案。 例如:
如何从变量中提取路径和文件名? 我想在不使用任何函数或任何GOTO的情况下做到这一点。可能吗?
我想在一个数据帧中创建几个新的空变量,并在向量中指定变量名。如果我只指定了一个变量名,这是可行的,但如果指定了几个,就不行了。我尝试了一些以前的解决方案,但它们似乎在这种情况下不起作用,例如: < li >不硬编码变量名的dplyr > < li >传递带有要变异的名称的向量以创建多个新列 < li>dplyr - mutate:使用动态变量名 期望的输出将是: 我想知道我如何能使这个工作?