我想编写一个如下所示的基本循环:
将电子表格导入为数据框
按标题中的变量进行扫描,找到丢失的数据点" NA"删除该变量的该日历月的所有数据,即:
这里var' X'有' NA'在1月的第二天。我想删除' X'
的所有1月值X Y Z
jan 3 3 3
jan NA 4 5
jan 2 6 2
feb 1 8 NA
feb 4 2 3
feb 9 4 1
3月5日NA 5
mar 8 7 4
3月9日7月5日
创建如下所示的新数据框:
X
feb 1
2月4日
feb 9
3月5日3月8日
3月9日Y
jan 3
jan 4
jan 6
feb 8
2月2日
2月4日
Z
jan 3
jan 5
jan 2
3月5日 3月4日 3月5日
保存剩余的'完整的月份' (在这种情况下' X' feb-mar,' Y' jan-feb,' Z' jan& mar)在新数据框架中导出为新的.csv文件
任何帮助入门都会很大。如果已经有人问过这个问题,请指导我,我不确定如何搜索这个。
答案 0 :(得分:0)
尝试:
ddf2 = ddf[,c(1,2)]
xdf = ddf[ddf$month!=ddf2$month[is.na(ddf2$X)], c(1,2)]
xdf
month X
4 feb 1
5 feb 4
6 feb 9
7 mar 5
8 mar 8
9 mar 9
ddf2 = ddf[,c(1,3)]
ydf = ddf[ddf$month!=ddf2$month[is.na(ddf2[,2])], c(1,3)]
ydf
month Y
1 jan 3
2 jan 4
3 jan 6
4 feb 8
5 feb 2
6 feb 4
ddf2 = ddf[,c(1,4)]
zdf = ddf[ddf$month!=ddf2$month[is.na(ddf2[,2])], c(1,4)]
zdf
month Z
1 jan 3
2 jan 5
3 jan 2
7 mar 5
8 mar 4
9 mar 5