在R中,当我从数据框/矩阵中只选择一列时,结果将变为向量并丢失列名,如何保留列名?例如,如果我运行以下代码,
x <- matrix(1,3,3)
colnames(x) <- c("test1","test2","test3")
x[,1]
Run Code Online (Sandbox Code Playgroud)
我会得到
[1] 1 1 1
Run Code Online (Sandbox Code Playgroud)
实际上,我想得到
test1
[1,] 1
[2,] 1
[3,] 1
Run Code Online (Sandbox Code Playgroud)
下面的代码给出了我想要的内容,但有没有更简单的方法呢?
x <- matrix(1,3,3)
colnames(x) <- c("test1","test2","test3")
y <- as.matrix(x[,1])
colnames(y) <- colnames(x)[1]
y
Run Code Online (Sandbox Code Playgroud) 我知道如何通过proc freq或sql 计算组和子组号.我的问题是当子组中的某些因素丢失时,我仍然希望将缺失因子显示为0.我该怎么做?例如,数据集是:
group1 group2
1 A
1 A
1 A
1 A
2 A
2 B
2 B
Run Code Online (Sandbox Code Playgroud)
我想要一个结果:
group1 group2 N
1 A 4
1 B 0
2 A 1
2 B 2
Run Code Online (Sandbox Code Playgroud)
如果我只使用默认的SAS设置,它通常会显示为
group1 group2 N
1 A 4
2 A 1
2 B 2
Run Code Online (Sandbox Code Playgroud)
但是我仍然希望结果中的第二行告诉我该类别中有0个观察值.
我可以在Python中一次更改列表中的多个项目吗?
问题1:例如,我的清单是
lst=[0,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)
我希望第三和第五项成为99。我知道我可以做到
lst[2] = 99
lst[4] = 99
Run Code Online (Sandbox Code Playgroud)
但是,有没有更简单的方法可以做到这一点?
问题2:在这种情况下,我的目标值为[99,98],我的索引为[2,4],所以我的结果将是[0,0,99,0,98]。有没有简单的方法可以做到这一点?谢谢。