【问题标题】:How to split an an atomic vector or a data column within a data frame in R如何在R中的数据框中拆分原子向量或数据列
【发布时间】:2019-05-03 02:19:29
【问题描述】:

我正在尝试将数据框中的一个数据列拆分为添加到现有数据框中的多个列,或者拆分我创建的原子向量以使用条件识别单个变量。

我使用的是在巴西创建的数据集,因此它已经存在许多我已经纠正的格式问题。前任。逗号而不是小数,调整日期/时间格式等。我现在遇到的最大问题是数据框中的最后一列,其中行包含 1-6 个结果。

这是我到目前为止所做的并且收到此错误: CF_IDs$IDs 中的错误:$ 运算符对原子向量无效

CF_IDs <- NewSet1$IDs[ ((NewSet1$Behaviour == "DP" | NewSet1$Behaviour == "P") & NewSet1$Interaction == "S") ]
str_split_fixed[CF_IDs$IDs, ",", 6]

现在我的数据框如下所示:

Behaviour|Interaction|IDs
P        |S          |15L,33L,38L
D        |N          |43L,17L
D        |N          |9L,10L

我正在尝试拆分 ID 列,同时也不会创建 NA 问题。我想将它们单独分开,以便从 52 个变量中找出每个唯一变量,而不是当前的 403 个变量。

*编辑:将最后一列变成多行也可以,但我不知道该怎么做。它可能看起来像:

Behaviour|Interaction|IDs
P        |S          |15L
P        |S          |33L
P        |S          |38L
D        |N          |43L
D        |N          |17L
D        |N          |9L
D        |N          |10L

【问题讨论】:

    标签: dataframe vector split


    【解决方案1】:

    我想出了怎么做,想发帖以防其他人偶然发现。

    #Separate IDs column into individual rows with corresponding Behavior and Interaction variables
    NewSet1_IDs <- separate_rows(NewSet1, IDs)
    #Remove rows caused by blank space at the end of IDs in original data set
    NewSet1_IDs <- NewSet1_IDs[!(NewSet1_IDs$IDs == ""),]
    

    这给出了想要的结果。

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多