[英]Add a value as a new row to a dataframe but keep all other columns NA
這是我的示例數據集:
mydata = data.frame (ID =c(1,2,3,4,5),
subject = c("His","Geo","Geo","His","Geo"),
age = c(21,24,26,23,26))
我想在頂部添加一行。 我希望它在 ID 列中顯示“學校 1”,而所有其他列保持空白。 以下是我正在尋找的內容:
mydata = data.frame (ID =c("School 1",1,2,3,4,5),
subject = c(NA,"His","Geo","Geo","His","Geo"),
age = c(NA,21,24,26,23,26))
我嘗試了以下方法,但最終會在所有列中填充值:
mydata <- rbind(c("School 1"), mydata)
我知道下面的代碼會讓我得到我想要的,但我想避免列出 NA,因為我的數據集有很多列
mydata <- rbind(c("School 1", NA,NA), mydata)
任何幫助表示贊賞!
基於dplyr
的可能解決方案。 我們首先需要將ID
從numeric
轉換為character
。
library(dplyr)
mydata %>%
mutate(ID = as.character(ID)) %>%
bind_rows(list(ID = "School 1"), .)
#> # A tibble: 6 × 3
#> ID subject age
#> <chr> <chr> <dbl>
#> 1 School 1 <NA> NA
#> 2 1 His 21
#> 3 2 Geo 24
#> 4 3 Geo 26
#> 5 4 His 23
#> 6 5 Geo 26
您可以rbind
兩個數據幀。
tmp <- setNames(data.frame('School 1', NA, NA), names(mydata))
rbind(tmp, mydata)
# ID subject age
# 1 School 1 <NA> NA
# 2 1 His 21
# 3 2 Geo 24
# 4 3 Geo 26
# 5 4 His 23
# 6 5 Geo 26
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.