当我使用group_by(col)inside时lapply(),columnsa和b被重命名为get(col). 我该如何阻止这种情况发生?我想在新对象中保留原始列名。
磁力RE
\n输入
\ndf <- data.frame(a = c(1, 1, 1), b = c(1, 1, 1), c = c(1, 1, 1))\n\nlapply(c("a", "b"), function(col) {\n \n assign(col, df %>% group_by(get(col)) %>% summarize(), env = .GlobalEnv)\n \n})\nRun Code Online (Sandbox Code Playgroud)\n输出
\n[[1]]\n# A tibble: 1 \xc3\x97 1\n `get(col)`\n <dbl>\n1 1\n\n[[2]]\n# A tibble: 1 \xc3\x97 1\n `get(col)`\n <dbl>\n1 1\nRun Code Online (Sandbox Code Playgroud)\n如果有人解释原因那就太好了会发生这种重命名以及如何阻止它,提前致谢。
\n是否可以使用tidyverse将excel列合并为一个?这就是我现在拥有的
library(tidyverse)
library(dplyr)
data <- read_excel("chat.xls") %>%
select(c('Question Answer', Transcript))
Run Code Online (Sandbox Code Playgroud) 我有一个包含分组名称的数据框,如下所示:
df <- data.frame(group = rep(letters[1:2], each=2),
name = LETTERS[1:4])
> df
group name
1 a A
2 a B
3 b C
4 b D
Run Code Online (Sandbox Code Playgroud)
我想将其转换为一个列表,该列表键入组名并包含名称.示例输出:
df_out <- list(a=c('A', 'B'),
b=c('C', 'D'))
> df_out
$a
[1] "A" "B"
$b
[1] "C" "D"
Run Code Online (Sandbox Code Playgroud)
这不是一个新问题,但我想在tidyverse中完全做到这一点.
情况:我在下图中有一个嵌套列表。我想使用 purrr 迭代每个嵌套列表的第二个元素并应用日期转换函数。
问题: 我可以轻松编写一个 for 循环来迭代它,但我想将其与 purrr 一起使用。我的嵌套列表尝试没有成功。正常列表很好,按位置嵌套,不太好。
Maurits Evers 的可复制示例代码(谢谢!)
lst <- list(
list("one", "12345", "2019-01-01"),
list("two", "67890", "2019-01-02"))
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏!