我相信这有一个简单的解决方案,但我很难找到它.很感谢任何形式的帮助.
我有一个2列的数据框; "亲"和"pep".pro被格式化为因子,并且包含220; 300; 4中的条目,有时更多数字(由";"分隔),有时只包含一个数字(并且没有";").pep列被格式化为整数并包含单个数字,例如20.我想要做的是"扩展"例如行pro:220; 300; 4和pep:20到3行一个用pro:220和pep :20,一个与职业:300和pep:20和一个与职业:4和pep:20.
我想对整个数据框执行此操作,因此最终得到一个带有两个字符格式列的数据框,其中所有行最初包含多个";" 分开的数字已经扩大.
我宁愿避免循环,因为数据帧相当大(> 100000行)
对不起,我还没有能够以更具案例代表性的方式发布这个...我是新来的,迷失在代码格式中.
来自西蒙非常感谢的请求:
> dput( head( dat , 10 ) )
structure(list(Protein.Group.IDs = structure(c(1095L, 60L, 299L,
242L, 1091L, 147L, 161L, 884L, 783L, 1040L), .Label = c("0",
"1", "10", "100", "101", "102", "103", "104", "105", "106", "107",
"108", "109", "11", "110", "111", "112", "113", "114", "114;680",
"115", "116", "117", "118", "119", "12", "120", "121", "121;920;530",
"121;920;530;589", "121;920;530;589;934", "121;920;589", "121;920;934",
"122;351", "122;351;950", "122;351;950;224;904", "122;351;950;687",
"122;901;224;904", "122;901;351", "122;901;351;950", "122;901;351;950;224",
"122;901;351;950;224;890;904", "122;901;351;950;224;890;904;687",
"122;901;351;950;890;687", …Run Code Online (Sandbox Code Playgroud)