基本问题,但我是初学者抱歉:-)而且我仍然在努力处理所有这些不同的数据类型等。所以我在第1列中有一个具有不同变量名的表。在第2列中这些变量具有某些值。我想现在提取某个变量的值。
VarNames<-read.table(paste("O:/Daten/RatsDaten/CodesandDescription/VarNamesDir.asc"), sep="", skip=0,header=FALSE)
表格看起来像这样
Test1 5
Test2 7
Test3 1
那么如何使用它们的名称访问这些Test变量值? VarNames [“Test1”,2]没有用。我也没试过任何其他选项。是否有更好的数据类型选项,或者我如何使用舒适的数据框进行操作?
答案 0 :(得分:3)
你应该有这两种情况中的一种,
Testxx是VarNames的rownames,你可以使用rownames(VarNames)来测试它,在这种情况下你应该这样做:
VarNames["Test1",1]
或者Testxx是列的组成部分,你应该这样做:
VarNames[VarNames$v =='Test1',2]
第一个选项:
m <- matrix(1:3,ncol=1,dimnames=list(paste0('Test',1:3),NULL))
m['Test1',]
Test1
1
第二个选项
m1 <- data.frame(v=paste0('Test',1:3),b=1:3)
m1[m1$v=='Test1',]
v b
1 Test1 1
答案 1 :(得分:0)
由于您的示例不可重现,不清楚第一列是表示行名还是具有值TestX的变量。
如果它是变量,您的表实际上如下所示:
V1 V2
Test1 5
Test2 7
Test3 1
因此,您可以通过为整行调用Test2
或仅为值VarNames[VarNames$V1 == "Test2",]
获取VarNames[VarNames$V1 == "Test2",2]
的值。您指定2,因为它是第二列。
如果第一列表示行名称,则整个行的调用为VarNames["Test2",]
,或者@agstudy仅对值进行回答VarNames["Test2",1]
。您指定1,因为它是第一列,Test2
是行名,因此不包含在列中。