相关疑难解决方法(0)

R:如何将包含"列表"的行扩展为多行...每个列表成员一行?

我相信这有一个简单的解决方案,但我很难找到它.很感谢任何形式的帮助.

我有一个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)

expand r dataframe

11
推荐指数
2
解决办法
5304
查看次数

标签 统计

dataframe ×1

expand ×1

r ×1