2
如果我要导入到R上的数据看起来像这样读字符串转换成表格
kljflksdjfklsdjfsdfj
dfjkdsjfkdjfkldjfkjd
djfkdsjfkdjfjsdfjsdk
dsjfkjsdfkdjsfkjdskj
,我想以这样的方式,我得到一个矩阵出它与每个星座读他们成为一列(第一列将是k,d,d,d),每个新行都是一行(在我的情况下是4行)。我怎样才能做到这一点?
如果我要导入到R上的数据看起来像这样读字符串转换成表格
kljflksdjfklsdjfsdfj
dfjkdsjfkdjfkldjfkjd
djfkdsjfkdjfjsdfjsdk
dsjfkjsdfkdjsfkjdskj
,我想以这样的方式,我得到一个矩阵出它与每个星座读他们成为一列(第一列将是k,d,d,d),每个新行都是一行(在我的情况下是4行)。我怎样才能做到这一点?
您可以使用scan
来读取文件:
text <- "kljflksdjfklsdjfsdfj
dfjkdsjfkdjfkldjfkjd
djfkdsjfkdjfjsdfjsdk
dsjfkjsdfkdjsfkjdskj"
dat <- scan(textConnection(text), "")
# dat <- scan("file.name", "")
strsplit
分割字符串成单个字符的功能。 rbind
用于创建矩阵:
do.call(rbind, strsplit(dat, ""))
结果:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20]
[1,] "k" "l" "j" "f" "l" "k" "s" "d" "j" "f" "k" "l" "s" "d" "j" "f" "s" "d" "f" "j"
[2,] "d" "f" "j" "k" "d" "s" "j" "f" "k" "d" "j" "f" "k" "l" "d" "j" "f" "k" "j" "d"
[3,] "d" "j" "f" "k" "d" "s" "j" "f" "k" "d" "j" "f" "j" "s" "d" "f" "j" "s" "d" "k"
[4,] "d" "s" "j" "f" "k" "j" "s" "d" "f" "k" "d" "j" "s" "f" "k" "j" "d" "s" "k" "j"
你也可以使用read.fwf
。当然,将“yourFileName”替换为实际文件的名称。
read.fwf(file="yourFileName",
widths = rep(1, nchar(readLines("yourFileName", n=1))))
# V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20
# 1 k l j f l k s d j f k l s d j f s d f j
# 2 d f j k d s j f k d j f k l d j f k j d
# 3 d j f k d s j f k d j f j s d f j s d k
# 4 d s j f k j s d f k d j s f k j d s k j
这里的输出是data.frame
。