【发布时间】:2020-05-13 08:34:44
【问题描述】:
我对 R 还是很陌生,我正在尝试完成数据整理,但我有点卡住了。
我将我在 R 中的数据组织成以下数据框格式(维度 [24,17]):
Id a b c d e f g h i j k k m n o p
1 999 2 2 999 999 999 999 2 2 2 2 2 2 999 999 999
2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
9 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999
10 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
11 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
12 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
13 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
14 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
15 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
16 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
17 1 3 4 999 2 999 999 999 2 999 999 999 2 2 2 999
18 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
19 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
20 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
21 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
22 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
23 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
24 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
我试图实现的是用每 8 行的值填充一列(从第 1 行开始,然后是第 1、9、17 行等),其中 999 以外的值将在彼此下方复制单列。在该行仅包含 999 个值的情况下,我希望列中的 8 倍 999 在彼此下方。在这个具有 24 行的特定示例中,列将被填充(基于第 1、9、17 行),如下所示,尺寸为 [1,24]:
2
2
2
2
2
2
2
2
999
999
999
999
999
999
999
999
1
3
4
2
2
2
2
2
这意味着我必须遍历每一列,从第 1 列开始,第 1 行直到第 1 行中所有列的末尾,然后移动到第 9 行第 1 列直到第 9 行中所有列的末尾等等。 我查看了 R 中将行转换为具有条件的列的示例,但我无法完成工作。
鉴于我在这里缺乏知识,有人知道在 R 中完成这项工作的方法吗?
【问题讨论】:
标签: r dataframe conditional-statements transpose