我正在尝试在 R studio 中创建一个代码来操作调查数据。这是我需要遵循的步骤。这是我到目前为止的代码。
#install packages
install.packages("readxl") # to read excel file
install.packages("dplyr") # for data manipulation
install.packages("writexl") # to export data frame from excel
#import data
library(readxl)
Wendys_Data <- read_excel("Downloads/Wendys_Data.xls")
View(Wendys_Data)
library(dplyr)
library(writexl)
str(Wendys_Data)
#address missing variables first determine which values need to be replaced
#determine misssing values
colSums(is.na(Wendys_Data))
#step 1 omit the missing data, but save into another temporary dataframe
WendysData_temp <- na.omit(Wendys_Data)
# step 2 - calculate the statistic / in this case the median
median(WendysData_temp$q3a_1)
which(colSums(is.na(Wendys_Data)) > 145)
#variable respecification/ creating new variable groups
Wendys_Data$d5 <- case_when(
(Wendys_Data$d5 = 7) ~ "N/A")
# export to Excel
library(writexl)
write_xlsx(Wendys_Data, )
我试过代码,但它不会运行
缺失值处理
在我的课堂上,通常的做法是将“不想回答”与普通缺失值合并。
(旁注:在某些情况下,您希望保持区别以分析不同类型的缺失 - 对于此任务有非常好的 R 包,例如
naniar
。但我认为这不是您的任务)
在我们的案例中,第一步是找出“不想回答”在您的数据中是如何表示的。通常,有一本密码本可以告诉您数据是如何编码的。
让我们假设它是“-7”(很常见)。
我们的目标是将所有
-7
转换为NA
,这使得它们可以被R识别,因此计算将是准确的。
这里是一些直接的基本 R 语法,用于将变量重新编码为
NA
并将其保存为新列。 df
代表您的数据框。
df$recoded_variable[df$variable == -7] <- NA
您可以手动对所有列执行此操作,但一旦数据变大,这就不是可行的选择。
我们可以使用
dplyr
自动将其应用于列并使用 Recoded-prefix 创建新列。
关于
NA
的注意事项:
我在你的代码中看到"N/A"
。除非你有充分的理由,否则请使用实际的NA
。它是 R 的内置缺失值指标。其他一切都很难处理。