gpt4 book ai didi

r - 如何将大数据集分为两个,第一个具有定义的列号,第二个不在 R 中的第一个数据集中

转载 作者:行者123 更新时间:2023-12-04 05:48:44 25 4
gpt4 key购买 nike

以下是数据集,我需要制作两个。

ID <- 1:4
pos <- c(0, 245, 567, 871)
A1 <- c("A/B", "A/A", "B/B", "A/A")
B1 <- c("B/B", "C/C", "C/B", "D/A")
C1 <- c("B/B", "C/C", "-/-", "D/A")
mydf2 <- data.frame (ID, A1, B1, C1, pos)

我有兴趣在一个数据集中有 2:4 列
mydf3 <- mydf2[,2:4]

现在我想要不同数据框中的其余变量。
mydf4 <-  mydf2[, names(mydf2) != names(mydf3)]

我错过了一些明显的东西吗?
Warning message:
In names(mydf2) != names(mydf3) :
longer object length is not a multiple of shorter object length

最佳答案

你想要:

mydf4 <- mydf2[, ! names(mydf2) %in% names(mydf3)]

您收到错误消息是因为 !=运算符对其两个向量参数执行元素比较。当向量具有不同的长度时,它会回收较短的向量以将其填充到较长的向量的长度。你向它传递了长度为 3 和 5 的向量,因为这两个数字都不是另一个的除数,所以它暗示你可能实际上并不想要这种回收行为,并警告你它在做什么。 (将 2:4 != 1:6 的结果与 2:4 != 1:5 的结果进行比较,以了解如何调试更令人费解。)

关于r - 如何将大数据集分为两个,第一个具有定义的列号,第二个不在 R 中的第一个数据集中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10356552/

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