我有一個看起來像這樣的資料集:

無法真正解決如何進行此操作。它非常簡單 - 每個變數有 33 個觀察值,并且 mean_sleep_time和mean_bed_time 中只有 3 個不為空 。我想要的只是一段回傳總值百分比的代碼。簡而言之,一個資料框顯示“在 33 個用戶中只有 3 個輸入了有效資料”
uj5u.com熱心網友回復:
這是我的方法:
library(dplyr) # for n_distinct
my_tot_user <- n_distinct(my_df$id)
my_df <- my_df[complete.cases(my_df),]
my_user <- n_distinct(my_df$id)
paste("out of ", my_tot_user, " users only ", my_user, " have input valid data", sep = "")
函式 n_distinct 允許我們獲取唯一值的數量 函式 complete.cases 允許我們保留不包含任何 NA 的每一行
uj5u.com熱心網友回復:
短而甜。假設您的資料框被稱為df,則:
length(df[!is.na(df$mean_sleep_time&df$mean_bed_time),])/nrow(df)*100 百分比
和
length(df[!is.na(df$mean_sleep_time&df$mean_bed_time),]) 完整案例
paste("Out of ", nrow(df), " users only ", length(df[!is.na(df$mean_sleep_time&df$mean_bed_time),]), " have valid input data", sep = "")
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/380658.html
上一篇:計算多列到列的差異R
