3

我得到了一个二进制数据的数据集,指示一个虚构测试的正确/错误测试答案。我要将这些数据导入 R 以对其进行分析以用于课程。

我很难将数据集导入 R 而不 R 将每行中的值更改为单个大数字。我最初的信念是缺少分隔字符导致我出现问题。

.txt 文件的前几行如下所示:

11011111110001100000001110000010

11111100110000001010001000100000

00001011110000000000000010001000

11110101000101100111000100000110

10000000100000100101000000101000

11111110001000001001000010000000

当我将这些行读入 R 时,我收到:

1.101111e+31

1.111110e+31

1.011110e+27

1.111010e+31

1.000000e+31

1.111111e+31

而不是表示测试结果的 1 和 0 行。

4

2 回答 2

10

我猜每一行都是一个观察?例如,每一行包含一个学生 32 个答案的正确性。如果是这种情况,请尝试read.fwf

my.data <- "11011111110001100000001110000010
11111100110000001010001000100000
00001011110000000000000010001000
11110101000101100111000100000110
10000000100000100101000000101000
11111110001000001001000010000000"

test.results <- read.fwf(textConnection(my.data), widths=rep(1, 32))

test.results[1, ]
# V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22 V23 V24
# 1  1  1  0  1  1  1  1  1  1   1   0   0   0   1   1   0   0   0   0   0   0   0   1   1
# V25 V26 V27 V28 V29 V30 V31 V32
# 1   1   0   0   0   0   0   1   0

如果不是这种情况,您应该提供更多信息。

于 2013-09-17T13:41:38.547 回答
2

您需要指定您的数据是字符。R很聪明,把它当作一个数字。用于... colClasses_read.table

read.table( text = "11011111110001100000001110000010
11111100110000001010001000100000
00001011110000000000000010001000
11110101000101100111000100000110
10000000100000100101000000101000
11111110001000001001000010000000" , colClasses = "character" , h = FALSE )

#                                V1
#1 11011111110001100000001110000010
#2 11111100110000001010001000100000
#3 00001011110000000000000010001000
#4 11110101000101100111000100000110
#5 10000000100000100101000000101000
#6 11111110001000001001000010000000
于 2013-09-17T13:41:40.363 回答