所以,我试图找出一个更大的问题,我认为这可能源于我从.txt
文件中导入数据时发生的事情。我的常规开始命令是:
data<-read.table("mydata.txt",header=T)
attach(data)
因此,如果我的数据说 3 列带有 headers和"Var1"
,那么所有内容到底是如何导入的?似乎它是作为 3 个单独的向量导入的,然后绑定在一起,类似于使用."Var2"
"Var3"
cbind()
我更大的问题是修改数据。如果我的数据框中的一行有一个空点(在任何列中),我需要将其删除:
data <- data[complete.cases(data),]
完美 - 现在假设原始数据框有 100 行,其中 5 行有一个空槽。我的新数据框应该有 95 行,对吧?好吧,如果我尝试:
> length(Var1)
[1] 100
> length(data$Var1)
[1] 95
所以看起来标记的原始列Var1
不受我重写整个数据框的行的影响。这就是为什么我相信当我导入数据时,我实际上只有 3 个单独的列存储在名为Var1
,Var2
和Var3
. 至于让 R 认识到我想要修改版的专栏,我认为我需要按照以下方式做一些事情:
Var1 <- data$Var1 #Repeat for every variable
我的问题是我需要为每个变量编写上面的代码。我拥有的数据框很大,这种编码方式看起来很乏味。有没有更好的方法来转换我的数据,然后能够调用修改后的变量,而无需每次都使用 data$ 前体?