将列表更改为.Numeric
我在网上找到了一些(x,y)表格格式的数据,我只想用它做一个t检验。我从互联网上复制并粘贴,在R上看起来像这样将列表更改为.Numeric,r,list,R,List,我在网上找到了一些(x,y)表格格式的数据,我只想用它做一个t检验。我从互联网上复制并粘贴,在R上看起来像这样 20.79 194.5 23.89 200.9 28.49 209.5 20.79 194.3 23.99 201.1 27.76 208.6 22.40 197.9 24.02 201.4 29.04 210.7 22.67 198.4 24.01 201.3 29.88 211.9 23.15 199.4 25.14 203.6
20.79 194.5 23.89 200.9 28.49 209.5
20.79 194.3 23.99 201.1 27.76 208.6
22.40 197.9 24.02 201.4 29.04 210.7
22.67 198.4 24.01 201.3 29.88 211.9
23.15 199.4 25.14 203.6 30.06 212.2
23.35 199.9 26.57 204.6
我想把它变成一个data.frame,其中第一列(主要是20年代的值)是x
,第二列(值为190-220)是y
。我已经尝试过了,但是现在我被一个列表困住了,当我尝试的时候
as.numeric(mylist)
它给我一条错误消息,内容如下
"Error: (list) object cannot be coerced to type 'double' "
您可以直接将文本传递给
read.table
;复杂的是,由于缺少值,您还需要fill=NA
d <- read.table(text="20.79 194.5 23.89 200.9 28.49 209.5
20.79 194.3 23.99 201.1 27.76 208.6
22.40 197.9 24.02 201.4 29.04 210.7
22.67 198.4 24.01 201.3 29.88 211.9
23.15 199.4 25.14 203.6 30.06 212.2
23.35 199.9 26.57 204.6", fill=NA)
names(d)[1:2] <- c("x", "y")
# x y V3 V4 V5 V6
# 1 20.79 194.5 23.89 200.9 28.49 209.5
# 2 20.79 194.3 23.99 201.1 27.76 208.6
# 3 22.40 197.9 24.02 201.4 29.04 210.7
# 4 22.67 198.4 24.01 201.3 29.88 211.9
# 5 23.15 199.4 25.14 203.6 30.06 212.2
# 6 23.35 199.9 26.57 204.6 NA NA
d有时,使用scan
读取数字元素,然后根据它们的顺序将它们配置为矩阵是很有用的
> inp <- scan(text="20.79 194.5 23.89 200.9 28.49 209.5
+ 20.79 194.3 23.99 201.1 27.76 208.6
+ 22.40 197.9 24.02 201.4 29.04 210.7
+ 22.67 198.4 24.01 201.3 29.88 211.9
+ 23.15 199.4 25.14 203.6 30.06 212.2
+ 23.35 199.9 26.57 204.6")
Read 34 items
> M.in <- matrix(inp, ncol=2, byrow=TRUE)
> M.in
[,1] [,2]
[1,] 20.79 194.5
[2,] 23.89 200.9
[3,] 28.49 209.5
[4,] 20.79 194.3
[5,] 23.99 201.1
[6,] 27.76 208.6
[7,] 22.40 197.9
[8,] 24.02 201.4
[9,] 29.04 210.7
[10,] 22.67 198.4
[11,] 24.01 201.3
[12,] 29.88 211.9
[13,] 23.15 199.4
[14,] 25.14 203.6
[15,] 30.06 212.2
[16,] 23.35 199.9
[17,] 26.57 204.6
> t.test(M.in[,1], M.in[,2])
Welch Two Sample t-test
data: M.in[, 1] and M.in[, 2]
t = -112.7824, df = 24.18, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-181.1483 -174.6400
sample estimates:
mean of x mean of y
25.05882 202.95294
first6 <- M.in[ 1:6, ]