gpt4 book ai didi

r - 使用与现有 data.frame 相同的列和行名称初始化空白 data.frame

转载 作者:行者123 更新时间:2023-12-04 12:30:54 32 4
gpt4 key购买 nike

有没有更好的方法来制作与现有 data.frame 具有相同维度、列名和行名的空白 data.frame?

BAM<-read.table(~/myfile)  # 10 rows and 10 columns, full of data
print(BAM)

SNP AZ04 AZ05 AZ06 AZ07 AZ08 AZ09 AZ10 AZ11 AZ12
1 0512930_3028 1 15 3 3 2 0 2 9 4
2 0512933_33862 0 7 1 5 18 2 4 10 5
3 0512933_33866 0 7 1 5 18 2 4 10 5
4 0512933_49263 4 12 15 14 14 9 7 15 15
5 0512933_315059 2 3 6 6 18 3 11 3 14
6 0512933_319854 4 3 10 6 8 2 6 12 8
7 0512933_330379 0 12 5 0 16 1 8 10 7
8 0512933_359868 9 9 7 9 18 9 16 14 11
9 0512933_390380 8 18 19 10 26 10 12 17 18
10 0512933_405563 2 10 13 10 17 14 10 13 14


Initial.matrix<-matrix(nrow=nrow(BAM), ncol=ncol(BAM), dimnames=list(1:(ncol(BAM)), (colnames(BAM))))
Blank.data.frame<-data.frame(Initial.matrix)
Blank.data.frame$SNP=BAM$SNP
print(Blank.data.frame)

SNP AZ04 AZ05 AZ06 AZ07 AZ08 AZ09 AZ10 AZ11 AZ12
1 0512930_3028 NA NA NA NA NA NA NA NA NA
2 0512933_33862 NA NA NA NA NA NA NA NA NA
3 0512933_33866 NA NA NA NA NA NA NA NA NA
4 0512933_49263 NA NA NA NA NA NA NA NA NA
5 0512933_315059 NA NA NA NA NA NA NA NA NA
6 0512933_319854 NA NA NA NA NA NA NA NA NA
7 0512933_330379 NA NA NA NA NA NA NA NA NA
8 0512933_359868 NA NA NA NA NA NA NA NA NA
9 0512933_390380 NA NA NA NA NA NA NA NA NA
10 0512933_405563 NA NA NA NA NA NA NA NA NA

我上面的代码得到了我想要的。有没有更干净或更简单的方法来做到这一点?

谢谢,
安娜(R 初学者)

最佳答案

只需创建 BAM 的副本并将所有数字元素乘以 NA .

Blank.data.frame <- BAM
Blank.data.frame[,-1] <- Blank.data.frame[,-1] * NA

或者,更一般地说:
Blank.data.frame <- BAM
numCols <- sapply(Blank.data.frame, is.numeric)
Blank.data.frame[,numCols] <- Blank.data.frame[,numCols] * NA

关于r - 使用与现有 data.frame 相同的列和行名称初始化空白 data.frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12478877/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com