如何在R语言中仅向数据框某列的首个单元格输入信息?
仅在新列首个单元格赋值的简洁方法
要实现仅给新列的第一个单元格赋值、其余留空的效果,你可以用以下几种简洁方法:
基础R两步写法
先把新列初始化为空值(NA),再给第一个元素赋值:df$col1 <- NA df$col1[1] <- mean(age)基础R一步写法
用replace函数直接生成目标列:df$col1 <- replace(rep(NA, nrow(df)), 1, mean(age))tidyverse/dplyr写法
如果习惯用tidyverse生态,用row_number()定位首行:library(dplyr) df <- df %>% mutate(col1 = case_when(row_number() == 1 ~ mean(age), TRUE ~ NA_real_))
你之前尝试的df$col1[1,1]无效,是因为df$col1提取的是向量,不是数据框的子表,所以只需要一维索引[1]即可定位首个元素,不需要二维索引。
内容的提问来源于stack exchange,提问作者Cole
相关产品推荐
相关产品推荐

