[英]how to add NaN values to row names of a dataframe in R
我正在尝试创建一个 data.frame 但我想要一些行的名称为 NaN 而我还没有达到这样的效果
tb = as.array(c(1:32))
dim(tb) <- c(8, 4)# (rows, cols)
lb1 = c("Hi","R","Lang","stat") # cols names 4
lb2 = rep(NaN,length(lb1)*2 )
#lb2[c(2*(1:length(lb1))- 1) ] = c(lb1)
lb2[seq(from = 1, length.out = length(lb1), by = 2)] = lb1
rownames(tb) <- lb2
colnames(tb) <- lb1
frm = as.data.frame(tb,stringsAsFactors = FALSE,check.names=T,fix.empty.names=F)
例如,当使用rownames(frm)
:
[1] "Hi" "NaN." "R" "NaN..1" "Lang" "NaN..2" "stat" "NaN..3"
我想要“NaN”。 、“NaN..1”等。 我只需要没有属性的 NaN
在rownames
不能有重复的值。
rownames(frm)
> [1] "Hi" "NaN" "R" "NA..1" "Lang" "NA..2" "stat" "NA..3"
rownames(frm)[4] <- NaN
你得到
Error in `.rowNamesDF<-`(x, value = value) :
duplicate 'row.names' are not allowed
同样,不允许缺失值NA
。
如果你这样做
rownames(frm)[2] <- NA
你得到:
Error in `.rowNamesDF<-`(x, value = value) :
missing values in 'row.names' are not allowed
您看到“NaN”、“NaN..1”等的事实是 R 试图通过将它们转换为字符并对其进行重复数据删除来使其正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.