我是R
的新手,所以很可能这是一个愚蠢的问题
每当我创建人工数据时,有时使用导入的数据集,R
告诉我我的变量没有行或列。
我可以运行回归,但我不能根据变量的行/列数来确定命令
例如,假设我有一个变量x1
,它是100
观察的列向量。
ncol(x1)
NULL
nrow(x1)
NULL
但是,如果我这样做:
x=t(x)
x=t(x)
再次输入ncol(x), nrow(x)
,然后我得到对象所拥有的实际列数,行数。
为什么会发生这种情况?如何在不使用t()
的情况下解决此问题?
答案 0 :(得分:24)
您需要使用NCOL(x)
和NROW(x)
作为向量。
通过转置x(t(x)
),您可以将其转换为矩阵,然后ncol(x)
和nrow(x)
就可以了。
它位于帮助文件中:
?ncol nrow和ncol返回x中存在的行数或列数。 NCOL和NROW将载体视为1列矩阵。
> x <- 1:100
> is.matrix(x)
[1] FALSE
> NCOL(x)
[1] 1
> y <- t(x)
> is.matrix(y)
[1] TRUE
> ncol(y)
[1] 100