我有下表“表”,有一列。我需要获得下面的“输出”表。
表:
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")
如何转换“测试”以实现“输出”?
答案 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')