我在Excel中有一个数据集,其中包含多个列,这些列中包含一组随机分布的特定数据。数据如下所示:
Col1 Col2 Col3 Col4 Col5 Col6
Data 34 NA NA NA NA
NA NA Data 32 NA NA
NA NA NA NA Data 12
NA Data 89 NA NA NA
我希望将所有Data
字段放入一个名为data的列中,因此数据集如下所示(NA
列现在并不重要,我有几个字段存在此问题,因此我还需要为其他字段复制解决方案):
Data
34
32
12
89
由于我目前在Excel工作,一个简单的解决方案将是伟大的,但是,我将在某个时候转移到R,所以在R的解决方案也将受到欢迎!
非常感谢,很抱歉给你这么隐晦的描述。
编辑:这里是我的真实的数据的图片-在这个例子中,我想要一个名为“总供应”的列,一个名为“股票行情指数”和一个名为“接受的货币”,各自的数据(在命名的单元格之后)在正确的列中。
输出应如下所示:
3条答案
按热度按时间yrefmtwq1#
如果数据位于名为
mat
的矩阵中,则以下代码将所需的值提取到一个向量中:这假设数据的格式正确。任何差异都将产生意外的结果。
也可以在没有
apply
的情况下使用矢量化函数来执行此操作,但生成的代码稍长:qcbq4gxm2#
试试看:
A6
中使用的公式:或者,更动态一点:
**编辑:**根据新信息更新答案;
F2
中的公式:pkwftd7m3#
使用下面的示例
df
,您可以执行以下操作:输出量:
此方法将捕获值的多次连续出现。(以及如何)捕获在
Data
之后出现的潜在NA
值-这将需要修改(例如,如果Data
包含至少一个non-NA
,则可以捕获每次出现Data
之后出现的所有值,或者可能只是想捕获单个NA
,以防之后整个向量为空,但我们仍然有Data
,等等)。数据来源: