帮助我理解data.frame列名中的部分匹配

时间:2011-06-08 15:36:49

标签: r dataframe

我今天碰到了一个奇怪的问题。原因可能是我不知道的基本问题,但我仍然很好奇这个问题可能会出现的原因以及可能解决的问题。

所以,想象一下,我们这里有一个像这样的数据框。

abc<-c("a","a","a","a","a","a","a","b","b","b","b","b","b","b","b","c","c","c",
"c","c","c","c","c","c","c","c","c","c","c","c")

count<-c(1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3)

xyz<-c("x","x","x","x","x","y","y","y","y","y","y","z","z","z","z","z","z",
"z","z","z","z","z","z","z","z","z","z","z","z","z")

total_df<-as.data.frame(cbind(abc,count,xyz))

正如您所看到的,我们在这里有3个变量和30个观测值。

如果您要将这些行发送到R,那么您将看到每个变量包含3个因子,因此变量都被分解:

total_df$abc
total_df$count
total_df$xyz

或者只是简单地检查一下:

class(total_df$abc)
class(total_df$count)
class(total_df$xyz)

现在,在下一步中,我想以这种方式调用其中一个变量:

total_df$count

偶然我意识到以下几行:

total_df$coun
total_df$cou
total_df$co
total_df$c

...所以这些行给出了与'total_df $ count'行完全相同的结果。这怎么可能?这种现象是否正常?我还没有创建一个名为'cou'的变量,R仍然可以识别它?!我在这忘了吗?它真的让我担心,因为这个问题可能会导致严重的头痛......有没有办法逃避/解决这个问题?我的意思是,告诉R只识别变量'count'?而且我不希望所有其他的 - 在我看来是'假的' - 像'coun','cou'这样的变量得到认可。

问题出现在另外两个主要变量'abc'和'xyz'中。

顺便说一下,我有2.12.0类型的R。

谢谢你,祝你有个愉快的一天 的Laszlo。

0 个答案:

没有答案