**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
22小时前关门了。
Improve this question
我试图在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, )
1.有时缺失值由“不愿回答”的回答表示,而其他时候参与者则完全跳过问题。许多人口统计变量都有缺失值:教育(D5)、收入(D 6)、就业状况(D 7)和婚姻状况(D8)。你会如何处理这些项目?
1.为上一个问题中确定的每列创建一个新变量列,并处理缺失值。应将每列命名为Recoded_OriginalColumn名称。例如,如果重新编码了q7,则新变量应为Recoded_q7
1.通过将借记卡、支票和其他组合到一个类别中,从D1创建一个名为Recoded_PaymentMethod的新变量。新变量列应保留其他类别。
1.从D3 A创建一个名为Recoded_PeopleHome的新变量,如下所示:a.从d3a_1开始:创建一个名为Recoded_PeopleHome_Adults的新变量:对于18岁以上的成年人,应将四个或更多个组合成一个标有“4+”BUSI 331 b的类别。从d3a_2,d3a_3和d3a_4开始:为其余三个年龄组(5岁以下、6-11岁和12-17岁)中的每一个创建新变量Recoded_PeopleHome_U5、Recoded_PeopleHome_U11、Recoded_PeopleHome_U17,两个或更多个应组合成一个标记为“2+”的类别c。每个新变量列应保留其他类别。(提示:完成此问题的步骤后,您应该总共有4个新列。)
1.重新编码人口统计数据如下:a.创建称为Recoded_Education的新变量并将来自D5的两个最低教育类别组合为单个类别“高中或更低”。新变量列应保留其它类别。b.创建称为Recoded_Income的新变量并将来自D 6的三个最高类别组合为“$100,c.创建一个名为Recoded_Employment的新变量,并合并homemaker、retired、从D 7开始的失业者和失业者被划分为一个类别,并带有您选择的标签。新的变量列应该保留其他类别。
1.创建一个名为Recoded_S3A的新变量,根据受访者在过去4周内在快餐店用餐的次数将其编码为3组:轻(1-4倍)、中(5-8倍)和重(9倍或更多倍)。
1.将修订后的数据框导出到Excel,并将其另存为Wendys_revised_LastName_FirstInitial。
下面是数据集DATA SET
我已经试过代码,但它不会运行
1条答案
按热度按时间eaf3rand1#
缺失值处理
在我的课堂上,通常的做法是将“不愿回答”与普通的缺失值合并。
(Side注意:有些情况下,你想保持这种区别,以分析不同类型的缺失-有非常好的R包用于此任务,如
naniar
。但我认为这不是你的任务。在我们的例子中,第一步是找出“Prefer to not answer”在你的数据中是如何表示的。通常,有一个代码本告诉你数据是如何编码的。
假设它是“-7”(非常常见)。
我们的目标是将所有的
-7
转换为NA
,这使得它们对于R是可识别的,因此计算将是准确的。下面是一些简单的R语法,可以将变量重新编码为
NA
并将其保存为新列。df
代表 Dataframe 。下面是完成相同任务的一些tidyverse语法:
您可以手动将这些方法应用于4列,但一旦数据变得更大,这就不再是可行的选择了。
具体来说,您可能希望一次重新编码多个列并以“recoded_"为前缀保存它们的函数。这可以通过结合使用
mutate()
和across()
来实现。关于
NA
的说明:我在你的代码中看到了"N/A"
。除非你有很强的理由,否则使用实际的NA
。它是R内置的缺失值指示器。其他一切都很难处理。