我想将矩阵转换为数据框。当我使用
df <- mat %>% data.frame()
Run Code Online (Sandbox Code Playgroud)
我丢失了行名。我如何保留它们?
当我在 R 中有不同数量的相同分隔符时,我需要帮助弄清楚如何根据最后一个分隔符在数据框的列中拆分字符串。例如,
col1 <- c('a', 'b', 'c')
col2 <- c('a_b', 'a_b_c', 'a_b_c_d')
df <- data.frame(cbind(col1, col2))
Run Code Online (Sandbox Code Playgroud)
我想拆分 df$col2 以获得如下所示的数据框:
col1 <- c('a', 'b', 'c')
col2 <- c('a', 'a_b', 'a_b_c')
col3 <- c('b', 'c', 'd')
Run Code Online (Sandbox Code Playgroud) 我在全局环境中创建了一系列列表对象,可以通过字符串搜索它们。例如ls(pattern = '^data_')
如何将这组命名列表合并为 1 个列表?
我想跨使用 dplyr mutate,并引用另一个用于所有 mutate 函数的静态列。
df <- data.frame(baseline = c(1,2,3), day1 = c(NA,2,2), day2 = c(2,3,4), day3= c(5,4,6))
Run Code Online (Sandbox Code Playgroud)
我想为每天超过基线的变化创建一个新列“fc”。我想我可能需要“sym”和 !! 的组合 围绕基线使其发挥作用,但还没有弄清楚。
df %>% mutate(fc = mutate(across(starts_with('day')), ./baseline))
Run Code Online (Sandbox Code Playgroud)
给出错误
警告消息:在 format.data.frame(if (omit) x[seq_len(n0), , drop = FALSE] else x, : 损坏的数据帧:列将被截断或用 NA 填充
我在每天的列中都有一些缺失值,因此编辑了上面的代码。当输入中存在 NA 时,如何将给出的 NA 合并到输出中而不是失败?
我可以使用dplyr :: select(ends_with)选择适合多种条件的列名称。考虑到我的列名,我想使用结尾于而不是包含或匹配项,因为我要选择的字符串在列名的末尾相关,但也可能出现在其他中间。例如,
df <- data.frame(a10 = 1:4,
a11 = 5:8,
a20 = 1:4,
a12 = 5:8)
Run Code Online (Sandbox Code Playgroud)
我想选择以1或2结尾的列,以仅具有a11和a12列。select(ends_with)是最好的方法吗?
谢谢!
我正在 ggplot 中制作一个 tilemap,如下所示。2个问题:
1) 如何扩展 x 轴限制以在 x = 4 处标记我的组?2) 如何自动在组之间放置水平线(即 1 和 2、2 和 3 之间的线,等等),而不是手动指定 y 值?
require(tidyverse)
set.seed(1)
df <- data.frame(ID = as.character(c(1:50)),
Group = sample(1:8, 50, replace = T),
var1 = sample(c('Y', 'N'), 50, replace = T),
var2 = sample(c('Y', 'N'), 50, replace = T),
var3 = sample(c('Y', 'N'), 50, replace = T)) %>%
gather('var', 'y_n', var1:var3) %>%
arrange(-Group) %>%
mutate(ID = factor(ID, levels = unique(ID, ordered = T)))
ggplot(df, aes(var, ID, label = …
Run Code Online (Sandbox Code Playgroud)