将字符列取消列表到R中的数据框

时间:2017-12-01 17:07:08

标签: r output

我有下表“表”,有一列。我需要获得下面的“输出”表。

表:

PLSS
S24-T27S-R16E
S28-T27S-R17E
S21-T27S-R17E
S5-T28S-R16E

output:

Sec   Town   Range
S24   T27S   R16E
S28   T27S   R17E
S21   T27S   R17E
S5    T28S   R16E

我有以下代码。

test <- as.character(strsplit(Table$PLSS, "-"))
test <- data.frame(test)

test
c("S24","T27S","R16E")
c("S28","T27S","R17E")
c("S21","T27S","R17E")
c("S5","T28S","R16E")

如何转换“测试”以实现“输出”?

2 个答案:

答案 0 :(得分:1)

我们可以使用base R

执行read.table选项
read.table(text=tbl$PLSS, sep="-", header = FALSE, 
    stringsAsFactors = FALSE, col.names = c('Sec', 'Town', 'Range'))
#   Sec Town Range
#1 S24 T27S  R16E
#2 S28 T27S  R17E
#3 S21 T27S  R17E
#4  S5 T28S  R16E

答案 1 :(得分:0)

我将与另一个想法分享。而不是

test <- as.character(strsplit(tbl$PLS, "-"))
test <- data.frame(unlist(test))

试试这个

test <- data.frame(matrix(unlist(strsplit(tbl$PLS, "-")), 4, 3, byrow = T))
colnames(test) <- c('Sec', 'Town', 'Range')