我有一個數據集,每行有40,000多行,列數不相等。我遇到的問題是,每行末尾的每個值都屬於同一列,但最終會在許多不同列中跳水。R每行正確導入不等數量的列
所以我的問題是:是否有一個簡單的方法,要求每行的最終值放在同一列?
標題有: C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14
BAC0004 | ACR3 | TR | B5LX01 | B5LX01_CAMJU ACR3 GN = ACR3 PE = 4 SV = 1個多藥耐藥
BAC0017 | ADEI | TR | Q2FD95 | Q2FD95_ACIBA ADEI GN = ADEI PE = 4 SV = 1的預測蛋白 BAC0001 | ABEM | TR | Q5FAM9 | Q5FAM9_ACIBA多藥外排泵ABEM GN = ABEM PE = 4 SV = 2多藥耐藥蛋白
當前導入如下所示:
c1 c2 c3 c4 c5 c6 c7 c8 c9
BAC0004|acr3|tr|B5LX01|B5LX01_CAMJU Acr3 GN=acr3 PE=4 SV=1 multidrug resistance
BAC0017|adeI|tr|Q2FD95|Q2FD95_ACIBA AdeI GN=adeI PE=4 SV=1 predicted protein
BAC0001|abeM|tr|Q5FAM9|Q5FAM9_ACIBA Multidrug efflux pump AbeM GN=abeM PE=4 SV=2 multidrug efflux pump
如果有的話,我想它看起來像這樣:
c1 c2 c3 c4 c5 c6 c7 c8 c9
BAC0004|acr3|tr|B5LX01|B5LX01_CAMJU Acr3 GN=acr3 PE=4 SV=1 NA NA NA multidrug resistance
BAC0017|adeI|tr|Q2FD95|Q2FD95_ACIBA AdeI GN=adeI PE=4 SV=1 NA NA NA predicted protein
BAC0001|abeM|tr|Q5FAM9|Q5FAM9_ACIBA Multidrug efflux pump AbeM GN=abeM PE=4 SV=2 multidrug efflux pump
,但最好是這樣的:
c1 c2 c3 c4 c5 c6
BAC0004|acr3|tr|B5LX01|B5LX01_CAMJU Acr3 GN=acr3 PE=4 SV=1 multidrug resistance
BAC0017|adeI|tr|Q2FD95|Q2FD95_ACIBA AdeI GN=adeI PE=4 SV=1 predicted protein
BAC0001|abeM|tr|Q5FAM9|Q5FAM9_ACIBA Multidrug efflux pump AbeM GN=abeM PE=4 SV=2 multidrug efflux pump
這是3號線在此引起的所有問題 - 我會如果將名稱保留爲一個長字符串並且不添加這3個額外的列,但是我真正想要的是名稱(c1)和描述(最後一個值),我願意以這種方式處理它別無他法。
但我只是在想,也許有一種告訴R如何分割字符串的方法 - 也許這樣,所有在「GN = *」值之後的值都被放入3個單獨的列中。我不知道什麼是最好的。謝謝你的幫助。
你能發表一個小樣本來說明你的問題以及你想得到什麼嗎? – ilir 2014-10-16 14:49:19
肯定 - 會做。 – 2014-10-16 14:50:01
如果你在'read.table()'中指定'fill = TRUE',它會有幫助嗎? – konvas 2014-10-16 14:59:12